当我尝试将项目添加到通用列表时,我无法添加,我上面提供的代码已经提供,可以在此提出任何建议。
Vehicle v2 = new Vehicle(2, false, "car", 50);
Vehicle v3 = new Vehicle(3, false, "suv", 100);
Vehicle v4 = new Vehicle(4, false, "suv", 100);
public List<T> Initialize<T>() where T : Vehicle, new()
{
List <T> veh_list= new List<T>();
//veh_list.Add(new T(1, false, "car", 50));
veh_list.Add(v2);
veh_list.Add(v3);
veh_list.Add(v4);
return veh_list;
}
错误:无法从车辆转换为T.
答案 0 :(得分:3)
您的方法首先不应该是通用的
使方法通用会让调用者写Initialize<Truck>()
,而List<Truck>
不能包含Vehicle
。
您应该创建一个返回List<Vehicle>
的普通非泛型方法。