定義へ移動

上に書いた switch 文での列挙型展開 Code Snippet のように,ときどき列挙型の全要素を展開したいことがあります.C/C++ などでは列挙型が定義されているヘッダファイルから丸ごとコピー&ペーストすることも多いでしょうが,.NET のアセンブリのみで提供されるライブラリにはこの方法は使えません.この点,Visual Studio 2005 ではソースコードの存在しないクラスに「定義へ移動」を行うと,メタデータから宣言部分のみを抽出したソースコードを自動的に生成してくれます.さすがに Refector for .NET のようにメソッド内部まで逆コンパイルするということはありませんが,全てをエディタで読むことが出来るというのは便利といえば便利ですね.

定義へ移動

メタデータから生成されたソースコード

ちなみに,ダイナミックヘルプのようにキャレット位置を参照し動的に表示内容を更新する機能がクラス定義の表示についても存在します.メニューから「表示」→「その他のウィンドウ」→「コード定義ウィンドウ」ですね.

コード定義ウィンドウ