繁体   English   中英

ReSharper Refactor> Move不起作用

[英]ReSharper Refactor > Move doesn't work

我有一个函数我想移动到另一个对象。 在代码中,我选择了我想要移动的功能。 我使用ReSharper> Refactor> Move但没有任何反应。

选项1:剪切和粘贴

这是我在答案中添加的新选项。 这是迄今为止最容易的。

  1. 剪切您想要移动的代码。
  2. 将其粘贴到新位置。
  3. 将显示一个图标,您可以单击该图标并选择“ 应用移动重构”

我不确定这个选项是否会一直有效。

选项2:添加要作为成员移动的对象

我发现只有将该对象作为成员才能使用Refactor> Move 成员必须是具体类型,而不是接口。 例如,

public class MyController : Controller
{
    // ReSharper 8.2 will give the option to move to this object only.
    private MyRepository _repo;

    // ...

    public FunctionToMove()
    {
        // Do stuff.
    }
}

因为ReSharper想要重构工作代码,所以当你考虑它时就有意义了。 您必须具有对象的引用才能调用“移动”方法。 即便如此,在这种情况下,Resharper可能会考虑不同的UI决策。 (像一条消息)

选项3:更改方法签名

我无法将private方法移动到static类。 我将方法从private更改为public static然后我可以选择我想要移动它的静态类。

在尝试通过ReSharper Refactor菜单移动文件时,我也遇到了这个问题。 在“移动”对话框中选中“要启用撤消,打开所有带有更改以进行编辑的文件”框,修复了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM