我想在C#unity3D中实例化一个泛型类型

我想在C#unity3D中实例化一个泛型类型,c#,unity3d,instance,generic-programming,generic-list,C#,Unity3d,Instance,Generic Programming,Generic List,您好,我试图调整一个通用选项卡的大小,但我的问题是初始化新元素 List<T> Resize<T>(List<T> list, int sz) { if (list.Count < sz) { while (list.Count < sz) { T someInstance = new T(); // this line is the probleme

您好,我试图调整一个通用选项卡的大小,但我的问题是初始化新元素

    List<T> Resize<T>(List<T> list, int sz)
{
    if (list.Count < sz)
    {
        while (list.Count < sz)
        {
            T someInstance = new T(); // this line is the probleme
            list.Add(someInstance);
        }
    } else if ((list.Count > sz))
    {
        list.RemoveRange(sz, list.Count);
    }
    return list;
}
列表调整大小(列表,int-sz)
{
如果(list.Countsz))
{
list.RemoveRange(sz,list.Count);
}
退货清单;
}

谢谢您需要对
T
的定义进行一般约束
new()

List<T> Resize<T>(List<T> list, int sz) where T: new()
List Resize(List List,int sz)其中T:new()
当然,这假设每个类型都有一个无参数构造函数。

为什么不使用堆栈呢?相同但不同。您的T是组件吗?那么你需要一个组件约束。非常感谢你的支持help@valentinsorlin如果这解决了您的问题,您可以接受此答案以将其标记为已关闭。