这在C#GetStringName(o.Property)或o.Property.GetPropertyStringName()中可能吗?
可能重复:这在C#GetStringName(o.Property)或o.Property.GetPropertyStringName()中可能吗?,c#,reflection,C#,Reflection,可能重复: 我需要一些方法来获取属性的字符串名称,我不知道这在C#中是否可行,是吗?使用C#3和.NET 3.5中的表达式树,您可以执行以下操作: 也可以使用匿名类型和反射: GetStringName(new { o.Property }) 但两者都有点老套。(我举了一个关于后者的例子,当然是为了一个稍微不同的目的,但它展示了一般的想法。)如果您能告诉我们更多关于您为什么需要了解这一点的信息,我们可能会给您提供更好的建议。如果您希望将所有属性名称作为字符串数组来获取,您可以这样做: Typ
我需要一些方法来获取属性的字符串名称,我不知道这在C#中是否可行,是吗?使用C#3和.NET 3.5中的表达式树,您可以执行以下操作: 也可以使用匿名类型和反射:
GetStringName(new { o.Property })
但两者都有点老套。(我举了一个关于后者的例子,当然是为了一个稍微不同的目的,但它展示了一般的想法。)如果您能告诉我们更多关于您为什么需要了解这一点的信息,我们可能会给您提供更好的建议。如果您希望将所有属性名称作为字符串数组来获取,您可以这样做:
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();
}
-1不是他所要求的
string namesAndValues;
foreach(PropertyInfo prop in myClassProps){
namesAndValues += "Property Name: " + prop.Name + ", Value: " + prop.GetValue(myClass, null).ToString();
}