是否可以将静态方法移动到另一个 class 并同时重构 Visual Studio? C#

Is it possible to move a static method into another class and refactor simultaneously on Visual Studio? C#

请原谅,如果这个问题已经在某个地方得到了回答。

我不太确定这个问题该如何表述,所以我举个例子:

假设我们有 2 个不同的 classes,AB。如果我在 class A 中有一个静态方法,我通常使用 "A.Method()" 在我的程序中,是否可以将此方法从 A 移动到 B 以便它自动重构这个新位置"B.方法()"在程序中到处都是?

简而言之,我想重构“location”,而不是方法的“name”,因为我正在移动来自许多不同 class 的方法合并到一个静态方法库中。

感谢您提供的任何指点。

您可以考虑的一种方法是将 class A 的命名空间重命名为 class B。找出哪些文件因更改而损坏,然后进行查找和替换,然后执行此操作文件将 using 命名空间切换到 class B 所在的命名空间。

ReSharper 等重构工具或许可以缩短工作量。

不是直接的,但是如果你偷偷摸摸,你可以这样做。

  1. B 的名称更改为 C。不要auto-refactor。这会暂时中断编译。
  2. A 的名称更改为 B。这一次,请允许 auto-refactor。这会将 A.Method() 的所有实例更改为对 B.Method().
  3. 的调用
  4. C 中的代码移(复制并粘贴)回 B。这将修复步骤 1 中引入的编译错误。

另一方面,使用传统的搜索和替换(ctrl+F 或 shift+ctrl+F)可能更简单。