3

我刚刚为我的应用程序实现了一个自定义 MessageBox。我现在想用我的自定义实现替换对 MessageBox.Show() 的任何调用,即 MsgBox.Show()**。我意识到我可以通过简单的全局查找和替换来做到这一点,但我想知道是否有更安全/更好的方法来使用 ReSharper?

**所有传入的参数在这两种情况下都是相同的。

4

1 回答 1

7

Structural search and replaceReSharper 中有一个名为的工具。它绝对比简单的查找和替换更安全,但它有点复杂。我试图为你做一个指令,但我没有测试它。试一试,风险自负。搜索 GoogleReSharper 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 以调用 ReSharper 的修复以添加使用。
于 2013-03-27T11:15:33.713 回答