【发布时间】:2015-08-27 09:13:05
【问题描述】:
假设我有一个带有一些属性的Car 类。其中一个属性是另一个类Passenger 的IEnumerable,具有它自己的属性。
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]
如何获取car.Passengers 列表中每个Passenger 的所有属性值?
【问题讨论】:
标签: c# reflection properties