是否可以将静态方法移动到另一个 class 并同时重构 Visual Studio? C#
Is it possible to move a static method into another class and refactor simultaneously on Visual Studio? C#
请原谅,如果这个问题已经在某个地方得到了回答。
我不太确定这个问题该如何表述,所以我举个例子:
假设我们有 2 个不同的 classes,A 和 B。如果我在 class A 中有一个静态方法,我通常使用 "A.Method()" 在我的程序中,是否可以将此方法从 A 移动到 B 以便它自动重构这个新位置"B.方法()"在程序中到处都是?
简而言之,我想重构“location”,而不是方法的“name”,因为我正在移动来自许多不同 class 的方法合并到一个静态方法库中。
感谢您提供的任何指点。
您可以考虑的一种方法是将 class A 的命名空间重命名为 class B。找出哪些文件因更改而损坏,然后进行查找和替换,然后执行此操作文件将 using 命名空间切换到 class B 所在的命名空间。
ReSharper 等重构工具或许可以缩短工作量。
不是直接的,但是如果你偷偷摸摸,你可以这样做。
- 将
B
的名称更改为 C
。不要auto-refactor。这会暂时中断编译。
- 将
A
的名称更改为 B
。这一次,请允许 auto-refactor。这会将 A.Method()
的所有实例更改为对 B.Method()
. 的调用
- 将
C
中的代码移(复制并粘贴)回 B
。这将修复步骤 1 中引入的编译错误。
另一方面,使用传统的搜索和替换(ctrl+F 或 shift+ctrl+F)可能更简单。
请原谅,如果这个问题已经在某个地方得到了回答。
我不太确定这个问题该如何表述,所以我举个例子:
假设我们有 2 个不同的 classes,A 和 B。如果我在 class A 中有一个静态方法,我通常使用 "A.Method()" 在我的程序中,是否可以将此方法从 A 移动到 B 以便它自动重构这个新位置"B.方法()"在程序中到处都是?
简而言之,我想重构“location”,而不是方法的“name”,因为我正在移动来自许多不同 class 的方法合并到一个静态方法库中。
感谢您提供的任何指点。
您可以考虑的一种方法是将 class A 的命名空间重命名为 class B。找出哪些文件因更改而损坏,然后进行查找和替换,然后执行此操作文件将 using 命名空间切换到 class B 所在的命名空间。
ReSharper 等重构工具或许可以缩短工作量。
不是直接的,但是如果你偷偷摸摸,你可以这样做。
- 将
B
的名称更改为C
。不要auto-refactor。这会暂时中断编译。 - 将
A
的名称更改为B
。这一次,请允许 auto-refactor。这会将A.Method()
的所有实例更改为对B.Method()
. 的调用
- 将
C
中的代码移(复制并粘贴)回B
。这将修复步骤 1 中引入的编译错误。
另一方面,使用传统的搜索和替换(ctrl+F 或 shift+ctrl+F)可能更简单。