我试图构建一个泛型类,它的构造函数引入了一个额外的类型,但是编译器说no-no。
我不太明白为什么下面的方法不起作用:
public class Foo<T>
{
public Foo<T,TBar>(TBar tBar)
{
...
}
}
这并不重要,因为我可以使用流畅的API(这可能是首选)编写类,但我仍然想知道为什么不能。我能想到的唯一解释是编译器不喜欢方法级泛型类型声明与类级泛型类型声明混合使用。
最佳答案
这是不可能的。构造函数不像方法那样调用,它只通过指定类名(在new
关键字之后)来调用。另一方面,普通方法可以有额外的泛型类型参数。