id:NyaRuRu:20070214:p1 の続き,のつもりで書いていますが続けて読めるかは不明. .NET プログラミングで,ある型 T に依存した抽象基底クラスやインターフェイスについて,利用者には T が緩い制約しかもたないように見せつつ,実装者は T の型にいくつか具体的な想定をして実装を行いたいことがあります. これは例えば T が特定のインターフェイスを実装している場合や,特定の属性でマークされている場合に,より最適化された処理や,特殊な割り込み処理を行いたい場合を想定しています. 一般的にこれはリフレクションを用いて実現することになりますが,何度もリフレクションを行うのは効率が悪いので,初回実行時に T に応じた実装をはき出してしまうことを考えます.こうすることで,2回目からの実行では JIT コンパイルされた実行コードが使用されるようになります. このような目的に使える実