我想用具有自己的泛型参数的类初始化LinkedList,但它在Unity 4.6上会出错。示例代码如下:
public class Packet<T>
{
public Packet(string args, T data)
{}
}
public class Test
{
public LinkedList<Packet> packets = new LinkedList<Packet> ();
}
,输出错误如下:
Assets/Test.cs(13,27): error CS0305: Using the generic type `Packet<T>' requires `1' type argument(s)
是否可以使用具有自己的泛型参数的类初始化LinkedList?
更新
我想在初始化LinkedList之后保持Packet泛型。
答案 0 :(得分:2)
有可能,您只需将通用参数传递给Packet<T>
类,因为它期望您的字段声明中当前缺少T
对象:
public LinkedList<Packet<string>> packets = new LinkedList<Packet<string>>();
答案 1 :(得分:2)
我想在初始化LinkedList之后保持Packet泛型。
不可能。初始化在运行时完成,然后泛型已经解析为特定类型。泛型只在编译时可变。