0

興味深い質問があります (少なくとも私にとっては): オブジェクト内の任意のプロパティ アクセサー (ゲッター/セッター) をインターセプトして、そのリクエストをプライベート メンバー オブジェクトなどの別の場所に再ルーティングすることはできますか?

外側のオブジェクトが、呼び出し元が知らない内側のオブジェクトの特定の内部プロパティ (つまり、いくつかの例外を除くすべて) に自動的にアクセスできるかのように見せることができれば幸いです。 「シェル」オブジェクトは、内部オブジェクトの各プロパティにマップするプロパティを手動で作成する必要なく、内部オブジェクトのように動作します。

おそらくそれにはパターンがありますが、私の推測では、外側のプロパティを内側のプロパティに手動で配線する必要があります。

4

2 に答える 2

2

私のオープン ソース フレームワークImpromptuInterface (ナゲット上) には、このようなことを行うためのツールがたくさんあります。その主な機能は、dlr を使用して呼び出しを実装およびインターフェイスし、転送するプロキシを生成することです。

また、dlr 呼び出しをインタラクティブにアクセスできるようにする多くの機能も備えています。また、 ImpromptuForwarderなどの便利な動的オブジェクトを作成するための出発点となる DynamicObjectsの例もいくつかあります。

于 2011-08-07T18:55:53.140 に答える
0

プロキシ オブジェクトを使用してみることができます

http://www.codeproject.com/KB/cs/Emit_Proxy.aspx

于 2011-08-07T16:00:39.777 に答える