2012-05-06 17 views
4

私は何かを試したかったのですが、可能であれば気づいていません。自分のコードで第三者アプリケーションのメソッドを聴きたい。私は、メソッドが呼び出されたときに動き出し、そのメソッドに渡された引数も取得しようとしています。アプリケーションでメソッドが呼び出されたかどうかを知ることはできますか?

は、例えば、方法は、以下のように、サードパーティのアプリケーションに呼び出されます。

LoggerClass.LogCreate(LogName, LogDetails) 

私はLogCreateが呼び出されたときに知っているし、その後LOGNAMEとLogDetails文字列を抽出して情報を取得したいと思います。私は自分のロガーユーティリティの2つの文字列を解析します。

これは可能ですか?

ありがとうございます。

+1

CLRプロファイリングAPIを使用することができます – SLaks

+1

ソースにアクセスすることなく、私はそう信じられません。私が考えていないいくつかの自動魔法(反射を介して)があるかもしれません。 – IAbstract

+1

.Net 4.5を使用する場合は、メソッドをパッチすることができます(正確な名前は覚えていない)ので、呼び出しをログに記録してから、必要なメソッドを呼び出すメソッドを記述できます。 –

答えて

0

これはまさにAspect-Oriented programmingによって有効になっている種類のものです。

上記のウィキペディアの記事には、C#でサポートされていることが示されていますが、詳細は記載されていません。多分ここに他の人がいるかもしれません - 私はC#を自分でやっていません...

C#で直接サポートが見つからない場合は、PostSharpを見てください。

関連する問題