如果有下面的類:爲什麼我不能叫有泛型參數的構造函數,如果我指定的基類
class A
{
public A(int number)
{
}
}
那爲什麼我不能有一個泛型類像這樣的:
class B<ParameterClass> where ParameterClass : A
{
public B()
{
ParameterClass a = new ParameterClass(1);
}
}
我得到一個CS0304,編譯器說我沒有new()限制,但我只想調用在A上定義的構造函數,因爲ParameterClass將始終爲A編譯器可以確保A(int數)構造函數將始終存在。我只是不明白爲什麼會有這個限制。
+1非常好的樣品傳遞的一個實例B的構造函數旁邊的
where ParameterClass: A
– 2013-02-12 18:13:29