How set value a property selector Expression>

前端 未结 6 681
野趣味
野趣味 2020-11-30 04:32

i need associate a entity property Address in my Person class entity with expressions linq in my FactoryEntities class using pattern factory idea, look this is what I have a

6条回答
  •  心在旅途
    2020-11-30 05:11

    I've made mixed Rytis I solution and https://stackoverflow.com/a/12423256/254109

    private static void SetPropertyValue(Expression> lambda, object value)
        {
            var memberExpression = (MemberExpression)lambda.Body;
            var propertyInfo = (PropertyInfo)memberExpression.Member;
            var propertyOwnerExpression = (MemberExpression)memberExpression.Expression;
            var propertyOwner = Expression.Lambda(propertyOwnerExpression).Compile().DynamicInvoke();
    
            propertyInfo.SetValue(propertyOwner, value, null);
        }
    

    And call it

    SetPropertyValue(() => myStuff.MyProp, newValue);
    

提交回复
热议问题