C# 如何在C中向通用列表添加项#

C# 如何在C中向通用列表添加项#,c#,generics,C#,Generics,当我试图将项目添加到通用列表时,我无法添加,我使用的代码已在上面提供,任何人都可以对此提出建议 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>() wh

当我试图将项目添加到通用列表时,我无法添加,我使用的代码已在上面提供,任何人都可以对此提出建议

   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;
   }
Vehicle v2=新车(2,假,“car”,50);
车辆v3=新车(3,假,“suv”,100);
车辆v4=新车(4,假,“suv”,100);
公共列表初始化(),其中T:Vehicle,new()
{
List veh_List=新列表();
//车辆列表。添加(新T(1,假,“车”,50));
车辆列表添加(v2);
车辆列表添加(v3);
车辆列表添加(v4);
返回车辆列表;
}

错误:无法从Vehicle转换为T。

您的方法首先不应该是通用的。
使该方法成为通用方法将允许调用方编写
Initialize()
,并且
列表不能包含
Vehicle
s


您应该创建一个正常的非泛型方法,该方法返回一个
列表

您的方法首先不应该是泛型的。
使该方法成为通用方法将允许调用方编写
Initialize()
,并且
列表不能包含
Vehicle
s


您应该创建一个正常的非泛型方法,该方法返回一个
列表

您的方法首先不应该是泛型的。
使该方法成为通用方法将允许调用方编写
Initialize()
,并且
列表不能包含
Vehicle
s


您应该创建一个正常的非泛型方法,该方法返回一个
列表

您的方法首先不应该是泛型的。
使该方法成为通用方法将允许调用方编写
Initialize()
,并且
列表不能包含
Vehicle
s


您应该创建一个正常的非泛型方法,该方法返回一个
列表

如果该方法没有创建任何
t
,为什么要使用
new()
约束?您希望该方法返回泛型列表的原因是什么?因为将方法签名更改为
public List Initialize()
要容易得多。如果该方法不创建任何
t
,为什么要使用
new()
约束?是否有理由希望该方法返回泛型列表?因为将方法签名更改为
public List Initialize()
要容易得多。如果该方法不创建任何
t
,为什么要使用
new()
约束?是否有理由希望该方法返回泛型列表?因为将方法签名更改为
public List Initialize()
要容易得多。如果该方法不创建任何
t
,为什么要使用
new()
约束?是否有理由希望该方法返回泛型列表?因为将方法签名更改为
public List Initialize()
要容易得多。