public string GetNameByExpress<T>(Expression<Func<T, object>> expr) where T : class
{
var pname = "";
if (expr.Body is UnaryExpression)
{
var uy = expr.Body as UnaryExpression;
pname = (uy.Operand as MemberExpression).Member.Name;
}
else
{
pname = (expr.Body as MemberExpression).Member.Name;
{
var pname = "";
if (expr.Body is UnaryExpression)
{
var uy = expr.Body as UnaryExpression;
pname = (uy.Operand as MemberExpression).Member.Name;
}
else
{
pname = (expr.Body as MemberExpression).Member.Name;
}
returm pname;
}
例如:
public class Account
{
public string Name{get;set;}
}
var propertyName=GetNameByExpress<Account>(n=>m.Name);