ale*_*exn 3 c# expression func
我需要获取表达式参数的名称.我想要做的是类似于FluentNhibernate对列映射的作用:
地图(x => x.Name)
由此,我需要"名字".
我该怎么做呢?
我可以x这样做:
Expression<Func<User, object>> exp = x => x.Id;
exp.Parameters[0].Name;
Run Code Online (Sandbox Code Playgroud)
但我无法得到"名字".请注意,我没有任何可以调用的T实例.谢谢
(expr.Body as MemberExpression).Member.Name
Run Code Online (Sandbox Code Playgroud)
当表达式返回时object,正文将被包装在Convert表达式中.
以下应该有效.
((expr.Body as UnaryExpression).Operand as MemberExpression).Member.Name
Run Code Online (Sandbox Code Playgroud)