我必须做一个需要搜索某个类的对象列表的项目。
插入到列表中的对象是列表中声明的类的子类。所以我有这个
List<Vehicle> veichleList = new List<Vehicle>();
Vehicle
是该课程。我有课程Car: Vehicle
,Moto: Vehicle
,Boat: Vehicle
。
每个属性都有brand
,motor
和model
属性,所有属性都是字符串类型。
问题在于我必须能够搜索和编辑对象,并在不使用linq的情况下在ListBox上显示属性值。
感谢您的时间!
答案 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")
}
}