【发布时间】:2015-06-10 15:36:42
【问题描述】:
我过去曾使用过单例,我知道这对于一些尝试解决静态界面问题的人来说是一种解决方案。就我而言,我不能真正使用单例,因为我有一个要继承的外部类,而我无法控制这个(库)。
基本上,我有许多继承自“TableRow”(库中的类)的类,我需要这些类中的每一个来实现某个静态方法(例如:GetStaticIdentifier)。最终,我需要将这些对象存储在它们的一种基本类型中,并在这个特定类型上使用静态方法。
我的问题,除了使用单例之外,还有其他解决方案吗? C# 中是否有我不知道的功能可以帮助我解决这个问题?
【问题讨论】:
-
“我需要这些类中的每一个来实现某个静态方法” 为什么?用例是什么?类不应该对自己的实现细节负责吗?
-
为什么不能只调用单个静态方法?或者您需要每个类型具有给定名称的唯一静态方法?
-
是的@AlexeiLevenkov,我需要对每个类有不同的实现,该方法返回一个基类型的对象,但它应该是实现静态方法的类型...跨度>
-
如果你有这个类的对象为什么你需要静态方法,为什么不直接声明非静态虚拟方法并在子类中覆盖它们?
标签: c# inheritance interface static