tags:

views:

45

answers:

2

I need property name in my app and I use next code to get it

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

But I think that is bad idea. Because I use web service classes and I dont know when property names can be changed. This code give me exception only in runtime. But if I write something like this SomeClassInstance.Property.GetProperyName i get exception in moment of compilation and repair this problem. Is it possible to get property name dynamically?

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

Where Sample.Foo is your property So that would be SomeClass.Category.Name

Snake
+1  A: 

There is a very neat solution here: http://stackoverflow.com/questions/301809/workarounds-for-nameof-operator-in-c-typesafe-databinding

Mant101
Thank you. Great solution
Polaris