3

アプリケーションにカスタム MessageBox を実装しました。MessageBox.Show() への呼び出しを、MsgBox.Show()** というカスタム実装に置き換えたいと思います。単純なグローバル検索と置換でこれを実行できることはわかっていますが、ReSharper を使用してより安全でより良い方法があるかどうか疑問に思っています。

**渡されるすべてのパラメーターは、どちらの場合も同じです。

4

1 に答える 1

7

Structural search and replaceReSharperというツールがあります。単純な検索と置換よりも確実に安全ですが、少し複雑です。私はあなたのために説明をしようとしましたが、テストしませんでした。自己責任でお試しください。詳細については、 Google で検索しReSharper structural search and replaceてください。

  1. に進みReSharper | Find | Search with patternます。
  2. テキスト$t$.Show($args$)フィールドに入力します。
  3. をクリックしAdd Placeholder -> Expressionます。t名前を入力してから式のタイプMessageBoxを入力し、候補リストから正しいタイプを選択します。
  4. をクリックしAdd Placeholder -> Argumentます。名前を入力argsし、他のフィールドはデフォルト値のままにします。
  5. をクリックして、このパターンがターゲット呼び出しを検出することを確認しますFind
  6. に戻りReSharper | Find | Search with patternます(パターンはまだそこにあるはずです)。
  7. をクリックしReplaceます。
  8. タイプしMsgBox.Show($args$)ます。
  9. をクリックしReplaceます。
  10. 必要に応じて使用法を修正します。残念ながら、これは、ReSharper のソリューション全体の分析を介してエラーを見つけるか、プロジェクトをコンパイルし、エラーで Alt-Enter をクリックして、using を追加するための ReSharper の修正を呼び出すことによって、半自動的にしか実行できません。
于 2013-03-27T11:15:33.713 に答える