获取子对象列表的属性值

时间:2015-08-27 09:13:06

标签: c# reflection properties

假设我有一个Car类,其中包含一些属性。其中一个属性是IEnumerable另一个类Passenger,它有自己的属性。

public class Car
{
   public string Engine { get; set; }
   public int Wheels { get; set; }
   public IEnumerable<Passenger> Passengers { get; set }
}

我能够获取Engine和Wheels属性的值(以及所有其他属性)。但是,我无法弄清楚如何获取所有Passenger对象的属性。这是我正在做的获取Car对象的属性值:

Type type = car.GetType();
PropertyInfo[] properties = type.GetProperties();

foreach (PropertyInfo property in properties)
{
   object carValue = property.GetValue(car, null); 
   Console.WriteLine(carValue.ToString());
}

这显然不会给我Passenger属性,而是输出类似的内容:

System.Collections.GenericList'1[Passenger]

如何获取Passenger列表中每个car.Passengers的所有属性值?

0 个答案:

没有答案