首先,我了解接口或抽象类(在 .NET/C# 术语中)不能具有抽象静态方法的原因。然后我的问题更集中在最佳设计解决方案上。
我想要的是一组“帮助器”类,它们都有自己的静态方法,这样如果我从第三方供应商那里获得对象 A、B 和 C,我可以拥有带有方法的帮助器类,例如
AHelper.RetrieveByID(字符串 id); AHelper.RetrieveByName(字符串名称); AHelper.DumpToDatabase();
由于我的 AHelper、BHelper 和 CHelper 类基本上都具有相同的方法,因此将这些方法移动到这些类随后派生的接口似乎是有意义的。但是,希望这些方法是静态的,这使我无法拥有一个通用接口或抽象类来派生它们。
我总是可以使这些方法非静态,然后首先实例化对象,例如
AHelper a = 新的 AHelper(); a.DumpToDatabase();
但是,这段代码对我来说似乎并不直观。你有什么建议?我应该完全放弃使用接口或抽象类(我现在所处的情况)还是可以对其进行重构以完成我正在寻找的设计?