gpt4 book ai didi

c# - 将代码移动到其他类,同时保留 API

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:22 25 4
gpt4 key购买 nike

我有一个包含太多行代码的类。因此,我试图在不破坏公共(public) API 的情况下将其重构为更小的功能 block 。

假设我们有这段代码

class MyClass
{
public static void DoSomething() { ... }
}

现在我想将该方法移动到另一个类中,不会破坏现有代码。因此,该方法的客户仍然应该能够引用旧方法,然后旧方法只调用新类中的新方法。

当然我可以标记方法主体,“提取方法”(来自 R#),最后标记旧方法 Obsolete。然而,在数百种方法上这样做非常烦人。

我正在寻找类似于 Resharpers Refactor-->Move 的东西,但是根本不触及现有代码,以免破坏我的程序集的客户。

所以最后我需要这个:

class NewClass
{
public static void DoSomething() { ... }
}
class LegacyClass
{
public static void DoSomething() { NewClass.DoSomething(); }
}

最佳答案

我这样做的方式是:
1.使用Resharper从原始类创建一个接口(interface)。
2. 将原来的类(class)拆分成新的类(class)。
3. 把接口(interface)变成原来类的外壳。
4.在Notepad++中使用键盘宏来转:

void DoSomething();

进入

 public void DoSomething() { NewClass.DoSomething(); }

虽然这不适用于静态方法。

OTOH,你可能想多了。 “数百”听起来很多,但每个功能需要 10 秒,手动完成可能只需要一个小时左右。与尝试自动化或寻找完美解决方案相比,您花费的钱很容易。

关于c# - 将代码移动到其他类,同时保留 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58024103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com