2009年10月01日

拡張メソッド呼び出しの解決

   このエントリーをはてなブックマークに追加 Clip to Evernote
メソッドのオーバーロードの解決」の続きです。


というクラスがあったとします。
このCommandクラスに対し、以下のような拡張メソッドを定義しました。 拡張メソッドは、ジェネリックメソッドになっています。


この時


と呼び出したら、結果はどうなるのでしょうか。
結果は、


となり、拡張メソッドは呼ばれません. . .
拡張メソッドのほうが優先順位が高いはずはなく、この結果は、当然といえば当然ですね。

もし、拡張メソッドのほうを呼び出したければ、


のように書かないとだめみたいです。
ジェネリックな拡張メソッドを定義する際は、気をつけないといけませんね。
実は、これで嵌まりました。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/51902146