Fix getter creation for value type declaring types

This commit is contained in:
root
2026-02-23 21:51:01 +01:00
parent 03b7d06a14
commit 534c998552

View File

@@ -127,11 +127,14 @@ namespace DynamORM.Mapper
return null; return null;
var objParm = Expression.Parameter(typeof(object), "o"); var objParm = Expression.Parameter(typeof(object), "o");
var target = property.DeclaringType.IsValueType
? (Expression)Expression.Convert(objParm, property.DeclaringType)
: Expression.TypeAs(objParm, property.DeclaringType);
return Expression.Lambda<Func<object, object>>( return Expression.Lambda<Func<object, object>>(
Expression.Convert( Expression.Convert(
Expression.Property( Expression.Property(
Expression.TypeAs(objParm, property.DeclaringType), target,
property.Name), property.Name),
typeof(object)), objParm).Compile(); typeof(object)), objParm).Compile();
} }