class test <T> where T : class
{
public void Write<T>()
{
Console.Write(typeof(T).FullName);
}
}
上記のクラスでは、クラスの文字列(test<string> Test = new test<string>
)を渡してからメソッドにintを渡すことはできますか?もしそうなら、出力は何ですか?そうでない場合、これはどのような問題を引き起こしますか?ジェネリック(ジェネリック)とジェネリックコレクションを頻繁に使用しているにもかかわらず、実際にはこれを試していません。ジェネリッククラスとジェネリックメソッド
I /書き込み方法は、一般的なクラスを参照してください、次のとおりです。
class <T> where T : class
{
public T Write()
{
Console.Write(T.ToString());
}
}
メソッドを見ると、 "T"は実際にはメソッドパラメータです。クラスのパラメータと同じ名前を持つため、警告が生成されます。しかし、実際には違法ではありません。 (私がUに名前を変更することをお勧めしますが、お勧めのように) –
@Scott、私は実際にはC#が警告を発すると警告します。奇妙な:( – JaredPar