Visual Studio 重构:去除方法
-
08-06-2019 - |
题
是否有任何 Visual Studio 插件可以进行删除方法重构?
假设您有以下方法:
Result DoSomething(parameters)
{
return ComputeResult(parameters);
}
或者结果为空的变体。
重构的目的是,如果 ComputeResult 不是方法调用,则将所有对 DoSomething 的调用替换为对 ComputeResult 或使用参数的表达式的调用。
解决方案
如果我理解这个问题,那么 Resharper 会将此称为“内联方法” - 控制键 - 右 + 我
其他提示
我会用最简单的方式来做:
- 将 ComputeResult 方法重命名为 ComputeResultX
- 将 DoSomething 方法重命名为 ComputeResult
- 删除 DoSomething 方法(现在是 ComputeResult)
- 将 ComputeResultX 方法重命名回 ComputeResult
也许VS会因为上次重命名而显示一些冲突,但忽略它。
我所说的“重命名”是指:覆盖方法的名称,然后使用下拉菜单(Shift+Alt+F10)并选择“重命名”。它将用新名称替换所有出现的情况。
当涉及到这样的重构时,请尝试 锐锐.
只需右键单击方法名称,单击“查找用法”,然后重构,直到找不到任何引用为止。
正如 dlamblin 提到的,最新版本的 ReSharper 可以内联方法。这应该正是你所需要的。
您还可以右键单击方法名称,然后在 Visual Studio 中单击“查找所有引用”。
我个人只会做一个 控制键 + 转移 + H 到 Find & Replace
不隶属于 StackOverflow