有没有办法获取对象属性的名称?
例如,如果我有:
public class Car : Vehicle
{
public string Make { get; set; }
}
和
var car = new Car { Make="Ford" };
如何在代码中获取Make属性的名称?
即。 car.Make
的名称为"Make".
所以我想得到字符串"Make"
我想要这样做,因为我想将属性名称传递给方法。
更新
我希望属性的名称不是属性数组:
在这里找到答案:
http://handcraftsman.wordpress.com/2008/11/11/how-to-get-c-property-names-without-magic-strings/
答案 0 :(得分:3)
typeof(Car).GetProperties();
然后遍历列表
答案 1 :(得分:3)
Type typ = car.GetType();
PropertyInfo[] pi = typ.GetProperties();
将获取所有属性
然后,您可以为.Name
元素
pi
答案 2 :(得分:1)
我希望属性的名称不是属性数组:
在这里找到答案:
http://handcraftsman.wordpress.com/2008/11/11/how-to-get-c-property-names-without-magic-strings/