gpt4 book ai didi

.net - 接口(interface)/抽象类中的静态方法

转载 作者:行者123 更新时间:2023-12-02 20:20:02 29 4
gpt4 key购买 nike

首先,我了解接口(interface)或抽象类(在 .NET/C# 术语中)不能具有抽象静态方法的原因。我的问题更集中于最佳设计解决方案。

我想要的是一组“帮助器”类,它们都有自己的静态方法,这样如果我从第三方供应商获取对象 A、B 和 C,我就可以拥有带有以下方法的帮助器类

AHelper.RetrieveByID(string id);AHelper.RetrieveByName(string name);AHelper.DumpToDatabase();

由于我的 AHelper、BHelper 和 CHelper 类基本上都具有相同的方法,因此将这些方法移动到这些类派生的接口(interface)似乎是有意义的。然而,希望这些方法是静态的会妨碍我拥有一个通用接口(interface)或抽象类来派生所有这些方法。

我总是可以使这些方法成为非静态的,然后首先实例化对象,例如

AHelper a = new AHelper();a.DumpToDatabase();

但是,这段代码对我来说似乎并不直观。您有什么建议?我应该完全放弃使用接口(interface)或抽象类(我现在所处的情况)还是可以重构它来完成我正在寻找的设计?

最佳答案

如果我是你,我会尽量避免任何静电。恕我直言,我总是在静态方面遇到某种同步问题。话虽这么说,您正在展示使用模板的通用编程的经典示例。我将采用上面一篇文章中介绍的 Rob Copper 的基于模板的解决方案。

关于.net - 接口(interface)/抽象类中的静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614/

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