1)当我有
Static void Sample<T>(T a,T b)
声明Sample是否强制所有参数都必须是T?
2)除非我指定,否则声明Static void Sample(T a,T b)
不是通用方法
Sample<T>
?
答案 0 :(得分:5)
1)否,Static void Sample<T>(T a,T b)
不强制所有参数都是T类型。您也可以在方法参数中包含其他参数。编辑: - 您可以有Sample(T a,int b,string s)(如果这是你的意思)
2)是的,Static void Sample(T a,T b)
是非泛型的,编译器会抛出关于类型T的异常(如果你没有一个名为T的分类)
答案 1 :(得分:1)
实际上,在您的示例中,两个参数都是T类型,因此需要..um ..类型为T.您当然可以声明使用不同类型的方法。
static void Sample&lt; T&gt;(T a,SomeType b)
是的,除非您指定样本&lt; T&gt; (T a,T b)
答案 2 :(得分:1)
1)是
2)是的,这是通用方法的无效语法
编辑:更接近即时回答:)
答案 3 :(得分:1)
是的,声明强制所有声明的参数都必须是T类型。
static void Sample(T a, T b)
将无法编译(除非您有类型T),因为它不是通用声明。您需要声明为通用。