Visual Studioでメソッドのシグネチャを変更する便利な機能
Visual Studioは候補提示、補完、変数などの名前の一括変更といった機能が非常に強力かつ便利です。
加えて、メソッドの引数の一括変更も可能です。 一括変更可能な操作は「削除」「位置の入れ替え」です。
例えばもともと用意していた引数の一つが不要になったとか、わかりやすさのために位置を変えたいといったことがあります。
そんなときには「シグネチャを変更」機能が役立ちます。
例えば以下のような引数を3つとるメソッドAdd
があったとします。
class Program { static void Main(string[] args) { var result = Add(100, 50, 3); Console.WriteLine(result); } static int Add(int a, int b, int c) { return a + b + c; } }
ここで、やっぱり引数b
いらないなとなったとします。
↓こうしたい。
static int Add(int a, int c) { return a + c; }
メソッド名にカーソル(キャレット)を移動させ、ctrl+.
でリファクタリングのメニューを表示させます。
「シグネチャを変更する(Change signature ...)」を選択します。すると以下のような変更画面が表示されます。
そうしたら、消したい引数b
を選択してRemove
をクリックします。以下のように引数b
に赤色の消し線が入り、下側のプレビュー欄には変更を適用した場合のシグネチャが表示されます。
これでOK
を押せば、変更が適用されメソッドのシグネチャが変更されます。呼び出し側も変更されていることがわかります。
あくまでシグネチャの変更だけなので、メソッド内にはかつて引数だったものが残ります。これは手作業で変更する必要があるのは言うまでもありません。
インターフェースを使って実装されているメソッドのシグネチャ変更に重宝しそうです。