当前位置:  开发笔记 > 编程语言 > 正文

接口/抽象类中的静态方法

如何解决《接口/抽象类中的静态方法》经验,为你挑选了1个好方法。

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

我想要的是一组"辅助"类,它们都有自己的静态方法,这样如果我从第三方供应商那里得到对象A,B和C,我可以使用诸如

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

由于我的AHelper,BHelper和CHelper类都基本上都有相同的方法,因此将这些方法移动到这些类随后派生的接口似乎是有意义的.但是,希望这些方法是静态的,使我无法使用通用接口或抽象类来导出所有这些方法.

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

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

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



1> rptony..:

如果我是你,我会尽量避免任何静电.恕我直言,我总是以静态方式结束某种同步问题.话虽如此,您正在使用模板呈现通用编程的经典示例.我将在上面的一篇文章中介绍Rob Copper提供的基于模板的解决方案.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有