1

こんにちは、これが私の例です。

class A { }
class B : A { }
void test<T>(T clazz)
{
     Console.WriteLine("clazz type = {0} T type = {1}",
                 clazz.GetType().Name,
                 typeof(T).Name);
}

static void Main(string[] args)
{         
    A b = new B(); 
    test(b);
    Console.ReadLine();
}

結果は clazz= BT= A ????? です。ジェネリック型の推論でポリモーフィズムが考慮されないのはなぜですか?

4

4 に答える 4

0

Aジェネリックを決定するパラメーターに型の式を渡すとTTは になりますA。オブジェクトのは関係ありません。それは可能でnullあり、すべてがまだ機能します。

(コンパイル時に決定される型と考えることができますが、必ずしもそうであるとは限りません。単に可能であるだけです。)

于 2013-11-07T22:52:00.613 に答える