【发布时间】:2014-05-27 08:21:33
【问题描述】:
所以我有课;
public class person()
{
public string name {get; set;}
public int age {get; set;}
}
要找出类中属性的名称,我可以使用以下方法:
public void Check<T>(Expression<Func<T>> expr)
{
var body = ((MemberExpression) expr.Body);
string name = body.Member.Name;
}
所以这会给我字符串名称中的“年龄”
Check(() => person1.age);
我怎样才能循环这个,以便我可以传入我的初始化类并返回类中所有属性的名称列表。目前我的示例仅适用于 1 但我可能不知道一个类中有多少属性。
例如我想做这样的事情;
foreach( var property in person)
{
Check(() => property);
}
它会调用 person 类中 name 和 age 属性的方法。
【问题讨论】:
-
您的主要问题是什么?您想通过登记属性名称来实现什么。
标签: c# class reflection properties