从课堂获取属性名称

时间:2010-05-04 10:02:01

标签: c# reflection

我需要在我的应用中使用属性名称,然后使用下一个代码来获取它

string PropertyName =SomeClass.GetType().GetProperty("Category").Name;

但我认为这是个坏主意。因为我使用Web服务类,我不知道什么时候可以更改属性名称。此代码仅在运行时提供异常。但是如果我写这样的东西SomeClassInstance.Property.GetProperyName我在编译时得到异常并修复这个问题。 是否可以动态获取属性名称?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

 Expression<Func<string>> expression = () => Sample.Foo;
 MemberExpression body = (MemberExpression)expression.Body;
 string name = body.Member.Name;

Sample.Foo是您的财产 那就是SomeClass.Category.Name