是否可以将静态方法移至另一个类并在Visual Studio上同时进行重构? C#

问题描述

请原谅我是否已经回答过这个问题。

我不确定如何表达这个问题,所以我将举一个例子:

让我们说我们有两个不同的类,分别是 A B 。如果我在类 A 中有一个静态方法,通常可以通过在程序中使用“ A Method ()”来调用它,可以将该方法 A 移至 B ,以便它自动重构此新位置“ B 方法( )”在程序中的任何地方?

简而言之,我想重构“ 位置”,而不是方法的“ 名称”,因为我将方法从许多不同的类转移到一个静态类中方法库。

感谢您提供的任何指针。

解决方法

您可以考虑的一种方法是将类A的命名空间重命名为类B。找出更改后产生了哪些文件,然后进行查找和替换,并将此文件切换为使用中的命名空间。 B类居住。

诸如ReSharper之类的重构工具可能能够缩短工作量。

,

不是直接的,但是如果您偷偷摸摸,可以用这种方法来做。

  1. B的名称更改为C。不要自动重构。这将暂时中断编译。
  2. A的名称更改为B。这次,请允许自动重构。这会将A.Method()的所有实例更改为对B.Method()的调用。
  3. 将代码从C移动(复制并粘贴)到B中。这将解决步骤1中引入的编译错误。

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