IDynamicObject を C# 4 で実装し、Dictionary への単純なプロパティ getter/setter ディスパッチを行うカスタム MetaObject サブクラスを返します。ロケット科学ではありません。
私がこれを行う場合:
dynamic foo = new DynamicFoo();
foo.Name = "Joe";
foo.Name = "Fred";
Console.WriteLine(foo.Name);
次に、'Joe' がコンソールに出力されます...'Name' セッターへの 2 番目の呼び出しは呼び出されません (私のカスタム ディスパッチャー コードにステップ インすることはまったくありません)。
DLR がコールサイト キャッシングを行うことは知っていますが、ここでは当てはまらないと思いました。何が起こっているか知っている人はいますか?