の反転デフォルト値私はこのような方法がある場合:C#リファクタリング:ブール・パラメータ
public void Foo(object arg1, object arg2, bool flag = false);
を「フラグのデフォルト値を反転する任意のリファクタリング(ビルトイン、R#またはその他)があります( "false"で呼び出されるすべての呼び出しから "false"を削除し、他のすべてに "true"を追加する)、すべての用途を自動的に修正します。
の反転デフォルト値私はこのような方法がある場合:C#リファクタリング:ブール・パラメータ
public void Foo(object arg1, object arg2, bool flag = false);
を「フラグのデフォルト値を反転する任意のリファクタリング(ビルトイン、R#またはその他)があります( "false"で呼び出されるすべての呼び出しから "false"を削除し、他のすべてに "true"を追加する)、すべての用途を自動的に修正します。
私はVisual StudioやReSharperがブール型パラメータのデフォルト値を反転できないと思います。
ただし、メソッド内のパラメータのすべての用途を反転することはできます。 ReSharperので あなたははCtrl +Shiftキー + R(または宣言ブール値を右クリックし、[Refactor this
を押す)を押し、メニューにInvert Booleanを選択することができます。これにより、新しい名前を選択できるダイアログが開き、ReSharperはブール値のすべての用途を反転します。
ありがとうございますが、これはメソッドのパラメータ/引数では機能しません。たぶん私のR#バージョンが古すぎるのでしょうか? –
@ Dr.TimdosSantos少なくともReSharperの最新バージョンで動作します。私はどのバージョンがこの機能を導入したのか把握しようとしています。 –
@ Dr.TimdosSantos申し訳ありませんが、質問を正しく読まなかった。 ReSharperはパラメータ宣言のデフォルト値を処理していないようです。 –
これまでのところ、私はこのようなことをする方法がないことを知っています。 Visual Studio 2015を使用すると、正規表現で検索して置き換えることができます。しかし、私はこれが危険であり、あなたが期待するより多くのコードを変更すると思います。 – Sebi
デフォルト値を変更する必要があるのはなぜですか?セマンティクスのためだけですか? –
ねえ、もちろんあなたは聞くことができます。これは、間違った方法で設計された内部APIです。したがって、与えられたデフォルト値は、逆の場合よりもはるかに少ない頻度で使用されます。私はオプションパラメータが悪であることを知っていますが、* if *が使用されている場合、それらは最も頻繁に使用されるケースを表すはずです。 –