先日投稿した記事にて、Visual Studio 2005 の「ヒゲ」機能を使って、足りない using を追加する方法を紹介した。
今回はその「ヒゲ」ネタの続きである。
あるクラスを作成していて、そのクラスにあるインターフェース(仮に IHoge というインターフェースとしよう)を実装させるとする。そうなると、IHoge インターフェースが備えているすべてのメソッドやプロパティなどをコーディングする必要がある(もちろん、抽象クラスを作るなら別)。
そんなとき、Visual Studio 2005 上で、C# でコーディング中ならば、クラス名の後ろにコロン(:)に続けてインターフェース名(この場合は IHoge)をタイプすると、「ヒゲ」が表示される。
そのまま、その「ヒゲ」をマウスでクリックするか、[Alt]+[Shift]+[F10] のキーコンビネーションを押すと、スマートタグが表示され、そのインターフェースの実装スタブを生成するためのメニュー項目が表示される。
これを選べば、そのインターフェースで必要とされるメソッドやプロパティなどのスタブが用意される。
とうぜん、メソッドやプロパティの内容は、単に「まだ実装していません」という例外をスローするだけであるが、しかし、スタブが用意されるだけでも作業は激減する。
.NET Framework で用意されているインターフェースの中には、けっこうな数のメソッドを持つものが少なくない。しかし、自分の用途にはそのうちいくつかを実装すれば十分、というケースも多々あり得る。そんな場合は自分で実装しないメソッドは例外をスローしていればよいので、まさにこの「ヒゲ」機能はうってつけである。
なお、
ブログ「Kazzzの「JとNの狭間で」」で紹介されている ReSharper という Visual Studio のアドインでは、同様の機能を、"Implement/Override Members Wizard" という機能でもっとスマートに実現(実装するメソッド/プロパティを選択できたり、ドキュメントコメントをコピーしてくれたり)してくれるようだ。