全体的に遅延バインディングへとプログラミング環境を含めてがらっとパラダイムシフトが始まっています。
といってLinqを思い浮かべる人が多いかもしれませんが、実際にはWPFも遅延バインディング、ダックタイピングな実装だと解することができます。
WPFの場合バインド式には以下のように書きます。
Text="{Binding Path=Name}"
これはこのオブジェクトのデータコンテキストに設定されているオブジェクトのNameプロパティをさします。
このオブジェクトのデータコンテキストに何も設定されていない場合には、親コントロールのデータコンテキスト、その親、その親、その親とたどっていくことになります。
対象オブジェクトのNameプロパティの解決にはもちろんリフレクションです。
まさに遅延バインディング、ダックタイピングなことを行っています。
いつまでも完全型決めにこだわっていてはいけないということで、少し前に私の中では路線転換しました。
#ストアドは別(^^;
遅延バインディング、ダックタイピングをうまく乗りこなすコツは、脳内VM、脳内コンパイラ、脳内デバッガです。これらを搭載することができれば、ここではなにが来るかどうなるかが手に取るようにわかるでしょう。
#変態的(^^;;;;;