3
我剛剛爲我的應用程序實現了一個自定義MessageBox。我現在想用我的自定義實現(即MsgBox.Show()**)替換對MessageBox.Show()的任何調用。我意識到我可以用一個簡單的全局查找&替換,但我想知道是否有更安全/更好的方法來使用ReSharper?ReSharper中是否有查找和替換功能?
**所有傳入的參數在兩種情況下都是相同的。
我剛剛爲我的應用程序實現了一個自定義MessageBox。我現在想用我的自定義實現(即MsgBox.Show()**)替換對MessageBox.Show()的任何調用。我意識到我可以用一個簡單的全局查找&替換,但我想知道是否有更安全/更好的方法來使用ReSharper?ReSharper中是否有查找和替換功能?
**所有傳入的參數在兩種情況下都是相同的。
ReSharper中有一個名爲Structural search and replace
的工具。使用絕對比使用簡單的Find更安全,但它稍微複雜一些。我試圖給你做一個指導,但我沒有測試它。嘗試一下你自己的風險。在Google搜索ReSharper structural search and replace
以查找更多信息。
ReSharper | Find | Search with pattern
。$t$.Show($args$)
。Add Placeholder -> Expression
。輸入t
作爲名稱,然後輸入MessageBox
作爲表達式類型,並從建議列表中選擇正確的類型。Add Placeholder -> Argument
。輸入args
作爲名稱,使用默認值保留其他字段。Find
找到您的目標電話。ReSharper | Find | Search with pattern
(你的模式應該仍然存在)。Replace
。MsgBox.Show($args$)
。Replace
。
不幸的是我已經做到了這種老式的方式,所以我也無法真正地測試這個。如果有人想測試這個,它的工作原理,請在這裏更新,我會給予正確的答案。 – DaveDev 2013-03-27 11:40:36
這款工具在類型匹配方面確實很麻煩。它靜靜地拋棄了諸如「靜態」或「只讀」之類的東西。它並不真正支持泛型。我真的不推薦它。 – julkiewicz 2017-06-10 23:19:28