如何获得房产名称

时间:2011-04-01 01:15:29

标签: c# asp.net reflection

有没有办法获取对象属性的名称?

例如,如果我有:

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/

3 个答案:

答案 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/