我有一个函数我想移动到另一个对象。在代码中,我选择了我想要移动的功能。我使用 ReSharper>重构>移动但没有任何反应。
答案 0 :(得分:4)
这是我在答案中添加的新选项。这是迄今为止最简单的。
我不确定此选项是否始终有效。
我发现重构>移动仅在您将该对象作为成员时才有效。成员必须是具体类型,而不是接口。例如,
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决策。 (像消息一样)
我无法将private
方法移至static
课程。我将方法从private
更改为public static
,然后我可以选择我想要将其移动到的静态类。
答案 1 :(得分:1)
尝试通过ReSharper Refactor菜单移动文件时,我也遇到了这个问题。在“移动”对话框中选中“要启用撤消,打开所有带有更改以进行编辑的文件”框,修复了该问题。