的反相缺省值,如果我有這樣的方法:C#重構:布爾參數
public void Foo(object arg1, object arg2, bool flag = false);
是否有任何重構(內置,R#或其他)翻轉「標誌的該默認值「參數爲true,自動修復所有用法(從所有調用」false「的調用中刪除」false「,並將」true「添加到其他所有調用中)?
的反相缺省值,如果我有這樣的方法:C#重構:布爾參數
public void Foo(object arg1, object arg2, bool flag = false);
是否有任何重構(內置,R#或其他)翻轉「標誌的該默認值「參數爲true,自動修復所有用法(從所有調用」false「的調用中刪除」false「,並將」true「添加到其他所有調用中)?
我不認爲Visual Studio或ReSharper可以反轉布爾參數的默認值。
但是,您可以反轉該方法中參數的所有用法。 隨着ReSharper的你可以按下Ctrl鍵+移+[R(或右鍵單擊聲明布爾並按Refactor this
),然後在菜單中選擇Invert Boolean。這將打開一個對話框,讓您選擇一個新名稱,然後ReSharper將顛倒布爾值的所有用法。
謝謝,但這不適用於方法參數/參數,是嗎?也許我的R#版本太舊了? –
@ Dr.TimdosSantos它至少在最新版ReSharper中運行。我試圖找出哪個版本引入了此功能。 –
@ Dr.TimdosSantos對不起,我沒有正確閱讀這個問題。看來ReSharper不處理參數聲明中的默認值。 –
到目前爲止,我知道,沒有辦法做這樣的事情。 Visual Studio 2015允許您使用正則表達式進行搜索和替換。但我認爲這是危險的,並且會改變更多的代碼,然後您會期望。 – Sebi
我可以問你爲什麼需要改變默認值嗎?它只是用於semtantics? –
嘿,當然你可以問。這是一個設計錯誤的內部API,可以這麼說。所以給定的默認值的使用比倒轉的情況少得多。我知道可選參數是邪惡的,但如果使用*,它們應該代表最常用的情況,我想。 –