无法搜索对象列表,因为其属性无法使用linq

时间:2013-11-01 19:25:03

标签: c# list object subclass

我必须做一个需要搜索某个类的对象列表的项目。

插入到列表中的对象是列表中声明的类的子类。所以我有这个

List<Vehicle> veichleList = new List<Vehicle>(); 

Vehicle是该课程。我有课程Car: VehicleMoto: VehicleBoat: Vehicle

每个属性都有brandmotormodel属性,所有属性都是字符串类型。

问题在于我必须能够搜索和编辑对象,并在不使用linq的情况下在ListBox上显示属性值。

感谢您的时间!

1 个答案:

答案 0 :(得分:1)

不确定这是否是你需要的......

class  Car: Vehicle
 {
    public string Brand {get;set;}

    public Car()
     {
       Brand="BMW";
     }
 }


foreach(var vehicle in veichleList)
{
  foreach(var prop in vehicle.GetType().GetProperties())
    {
      var name = prop.Name // gives you the name of the property in that class (in the above example it will be equal with "Brand")
      var val = prop.GetValue(vehicle , null) // gives you the value of that property (in the above example it will be equal with "BMW")
    }
}