我需要将obj.Method1()
的所有匹配项替换为obj.Method2()
,其中obj
是同一个类的实例。 ReSharper for VS 2010是否允许这样做?
答案 0 :(得分:6)
您可以编写 ReSharper替换模式( ReSharper-&gt;工具 - &gt;模式目录,添加模式),如下所示:< / p>
其中表达式 obj 的类型需要更改为您的类(包含 Method1 )。
然后按 保存 ,然后按 立即搜索 以获取所有 Method1()电话:
然后点击 替换 ,所有 Method1 调用都被类型安全地替换为 Method2 。
答案 1 :(得分:4)
我作弊 - 做一个3点符号重命名(右击 - &gt;重命名方法名称)
这些都不会改变代码功能,但会更新所有代码以使用正确的名称,除了方法本身现在命名不正确 - 只需手动重命名方法和 voila - 一点点有点hacky但快速有效。
这依赖于托管代码中的所有方法调用(以便VS知道重命名的方式/内容)。如果你有XML注释,C#rename可以很好地处理这个问题,但是VB没有 - 我假设你提到ReSharper,你使用的是C#?
这也假设方法签名是相同的(如果没有,为大量复制/粘贴做好准备)
答案 2 :(得分:0)
使Method1的主体像这样
public void Method1(...) { return Method2(...); }
并在Method1上调用重构“内联方法”。