Fix getter creation for value type declaring types
This commit is contained in:
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user