1

独自の自動「解決」機能を作成したいと思います。VS では、右クリックして [解決] を選択するとオプションが表示され、いずれかを選択すると、必要な「using ...」ステートメントがそのファイルに追加されます。

さらに2つのステップを踏みたいと思います:

  1. 下線を引いてユーザーが「解決」するのを待つのではなく、必要な参照を探すために変更があったときにテキストを解析したいと考えています。
  2. 「using ...」ステートメントを提供するだけでなく、プロジェクトでどの DLL を参照するかを把握したいと考えています。VS では、正しいライブラリが既に参照されている場合にのみ、「解決」を取得します。

さて、複雑さを抑えるために:

  1. C#/VS/.NET に同梱されている組み込みの .NET ライブラリだけに関心があります。

.NET クラスでさえ重複するケースがいくつかあることは知っていますが (たとえば、System.Threading と System.Windows.Forms の Timer)、それらは例外です。

それで、私の質問は、すべての.NETクラスを「using ...」ステートメントとライブラリ参照(標準ファイルパスを含む)にマップする、取得できるリスト/マッピングはありますか?または、そのようなリストを自動的に生成する方法はありますか?

4

2 に答える 2

2

これを提供するサードパーティ製品を探すことができます。ソース コード ファイルから (コンパイルされたコードからではなく) シンボル データベースを構築する優れた製品 ReSharper が市場に出回っており、これも高速で最適化されています。ソリューション内の他のプロジェクトからこのアセンブリが既にわかっている場合は、シンボルを解決してアセンブリへの参照を追加できます。商品はこれだけではないと思います。

システム アセンブリからクラスのリストを作成することは、それほど難しくありません。標準インストールからシステム アセンブリのリストを作成し、それぞれをロードして、パブリック クラスのリストを作成するだけです。Load() や GetTypes() などの System.Reflection.Assembly メソッドを見てください。

于 2012-09-07T03:27:31.780 に答える
1

GAC で DLL を一覧表示し、リフレクションを使用して各 DLL のすべてのパブリック クラスを一覧表示できると思います。

このようにして、マッピングを作成し、追加する参照と追加する using ステートメントを把握できます。

于 2012-09-07T03:23:19.527 に答える