.NETが実行時にメソッド呼び出し(またはプロパティ呼び出し)の任意の形式の動的傍受をサポートしているかどうか不思議です。つまり、インターフェイス(CORBA DII(link text)またはCOMのIDispatchの行に沿って)などの静的なコンパイル情報を持たないオブジェクトへの呼び出しをインターセプトできますか?.NETでの呼び出しの動的傍受
もしそうでなければ、C#4.0の新しい「動的型付きオブジェクト」機能はこの点で役立ちますか?
.NETが実行時にメソッド呼び出し(またはプロパティ呼び出し)の任意の形式の動的傍受をサポートしているかどうか不思議です。つまり、インターフェイス(CORBA DII(link text)またはCOMのIDispatchの行に沿って)などの静的なコンパイル情報を持たないオブジェクトへの呼び出しをインターセプトできますか?.NETでの呼び出しの動的傍受
もしそうでなければ、C#4.0の新しい「動的型付きオブジェクト」機能はこの点で役立ちますか?
インスタンス化を制御できないオブジェクトをインターセプトできる組み込み関数はありません。同様に、今後の.net 4.0にはこれのための新しい機能はありません。
あなたはインスタンス化を制御することができた場合:あなたのオブジェクトをすることができ
あなたがICorDebugを使用することができますインスタンス化
また、あなたは(あなたが何かを再定義することができます)alias_method
を内蔵し、define_method
良さを持っているIronRubyのような動的言語、で見ることができるので、傍受が焼き。
。 NET 4.5では、メソッドの傍受のための別のフックを提供するメソッドをReJITに導入しています(同時/ bg GCを実行しておらず、メソッドがインライン化されていない場合)。
また、インターフェイスを経由している場合はRealProxyを使用できます。 – kyoryu
私は「Castle Dynamic Proxy」が私が探しているものに最も適していると思う。 APIは素敵でシンプルです。 – karmasponge
良いもの。追加するべきことの一つ - Mono.CecilはPostSharpといくつかのオーバーラップを持っています。 –
:http://stackoverflow.com/questions/25803/how-do-i-intercept-a-method-call-in-c –
それは強く関連していますか?私は属性を追加するクラスはありません。 – karmasponge
私は現在、 'RealProxy'と 'Profile Injection Application Block'について調査中です。 – karmasponge