可能重复:
How do I get the name of a property from a property in C# (2.0)
我需要一些方法来获取属性的字符串名称,我不知道这是否可以在C#中使用,是吗?
答案 0 :(得分:0)
在C#3和.NET 3.5中使用表达式树,你可以做一些关闭:
GetStringName(() => o.Property)
或者您可以使用匿名类型和反射:
GetStringName(new { o.Property })
但两者都有点hacky。 (我有blog post一个后者的例子,诚然为了一个略微不同的目的,但它表明了一般的想法。)如果你能告诉我们更多关于你为什么需要知道这个,我们或许能够建议你更好。
答案 1 :(得分:-1)
如果您想将所有属性名称作为字符串数组获取,可以执行以下操作:
Type myClassType = myClass.GetType(); //get your class type
PropertyInfo[] myClassProps = myClassType.GetProperties();
然后你可以循环播放它们
string namesAndValues;
foreach(PropertyInfo prop in myClassProps){
namesAndValues += "Property Name: " + prop.Name + ", Value: " + prop.GetValue(myClass, null).ToString();
}