在C#中获取属性名称作为字符串
是否可以编写一个返回对象属性的字符串值的函数?
如果我有一个名为apple的对象,它有一个名为peel的方法,我希望有一个方法在调用getAttributeName(apple.peel)时返回“peel”。
我该怎么做?
您可以编写扩展方法
public static string GetPropName(this T obj, Expression> lambda) { var member = lambda.Body as MemberExpression; var prop = member.Member as PropertyInfo; return prop.Name; }
并像这样使用它
var u = new User(); string name = u.GetPropName(x=>x.name);