ジェネリックの型推論がイマイチいけてない気がする。
class A { } class B : A { } class Sample { static void Method1<T> (T obj) where T : A { Method2 (obj); } static void Method2 (B obj) { Console.WriteLine ("obj is B"); } static void Method2 (A obj) { Console.WriteLine ("obj is A"); } static void Main (string [] args) { var obj = new B (); Method1 (obj); } }
上記の実行結果はどうなるでしょうか。
こたえ。
obj is A 続行するには何かキーを押してください . . .
うーん、イマイチ…。
トラックバック
- このエントリーにトラックバック:
- http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2330
コメント