Anders によると、C#4.0 では、動的型、または「静的型が動的」なオブジェクトを取得します。これにより、メソッド呼び出しの解決をコンパイル時ではなく実行時に行うことができます。しかし、有効である可能性が低いことがわかっている場合でも、動的オブジェクトの呼び出しを許可するのではなく、動的オブジェクトを何らかのコントラクトにバインドする (したがって、完全なインテリセンスを取得する) 機能はありますか?
つまり、ただの代わりに
dynamic foo = GetSomeDynamicObject();
次のような既知のコントラクトに制約するためにキャストまたは変換する機能があります。
IFoo foo2 = foo.To<IFoo>;
または単に
IFoo foo2 = foo as IFoo;
C#4.0 の既存の資料にはそのようなものは見つかりませんが、動的パラダイムの論理的な拡張のようです。もっと情報を持っている人はいますか?