Get string property name from expression

前端 未结 4 713
暖寄归人
暖寄归人 2020-12-29 12:07

I\'m trying to write a strongly typed helper which would be something like this:

Html.Lookup(x => x.FooId);

for now I have this:

4条回答
  •  清歌不尽
    2020-12-29 12:39

    a bit late but I am posting a simple solution that's working for me in .Net 4. It has handling for value types on line 4

    public PropertyInfo GetPropertyInfo(Expression> propertyLambda) {
            var member = propertyLambda.Body as MemberExpression;
            if (member == null) {// value types return Convert(x.property) which can't be cast to MemberExpression
                var expression = propertyLambda.Body as UnaryExpression;
                member = expression.Operand as MemberExpression;
            }
            return member.Member as PropertyInfo;
        }
    

提交回复
热议问题