0

したがって、私の目標は、プロジェクトAPIの「ビューの依存関係」を作成することです。SQL Management Studioがデータベースオブジェクトの「ビューの依存関係」を持っているのと同様に、これらのオブジェクトを消費しているのは誰か、これらのオブジェクトが誰に依存しているのかを示します。

したがって、NameSpace1.Class1.Method1がNameSpace2.Class1.Method2を消費している場合、NameSpace1.Class1.Method1に「ビューの依存関係」を使用すると、NameSpace1.Class1.Method1が依存するメソッドとしてNameSpace2.Class1.Method2がリストされます。 。

リフレクションと、実行時などにメソッドのリストを取得するためにどのように使用するか/使用する必要があるかを知っています。私が探しているのは、問題のメソッドから呼び出されている他のメソッドを抽出する方法です。この方向へのポインタはありがたいです。

4

2 に答える 2

1

クラスを取得します。各クラスのすべてのプロパティ/メソッド/各メソッドの引数-このようにして、すでに.Net Frameworkの一部であるコードを使用して、いくつかの依存関係に関する情報を取得します。

残りを取得するには、各メソッドのILを取得し、MethodBase.GetMethodBodyから開始して何が呼び出されているかを確認する必要があります。ILの解析を可能にする既存のプロジェクトがあります。つまり、トラバースac#メソッドを参照し、メソッド本体をanazlyeします。

于 2012-09-19T01:21:19.203 に答える
0

ILSpy のコード ベースを注意深く分析すると、同様の機能 (使用状況アナライザー) に出くわす可能性があります。

https://github.com/icsharpcode/ILSpy

これはオープン ソース プロジェクトであるため、オープン ソース ライセンスに従ってコードを再利用できます。

于 2012-09-19T05:53:58.607 に答える