gpt4 book ai didi

c# - 通过接口(interface)使用静态类?

转载 作者:太空狗 更新时间:2023-10-29 21:04:57 25 4
gpt4 key购买 nike

假设您需要从整个应用程序访问一些方法。静态类是理想的选择。

public static class MyStaticClass
{
public static void MyMethod()
{
// Do Something here...
}
}

但也许将来我会在另一个静态类中添加静态方法的第二个实现。

public static class MyStaticClass2
{
public static void MyMethod()
{
// Do Something here...
}
}

有没有一种方法可以更改我其他代码中使用的静态类,而无需更改从 MyStaticClass.MeMethod();MyStaticClass2.MyMethod(); 的调用?

我想过一个接口(interface),但我不知道如何实现它...如果我在说疯话,我会简单地更改调用 :D

最佳答案

你想要一个 factory pattern

所以你的工厂是

public static class MyStaticClassFactory
{
public static IMyNonStaticClassBase GetNonStaticClass()
{
return new MyNonStaticClass1();
}

}

实例

public class MyNonStaticClass1 : IMyNonStaticClassBase
{
//
}

界面

public interface IMyNonStaticClassBase
{
void MyMethod();
}

关于c# - 通过接口(interface)使用静态类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141977/

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