c# - 强制子对象实现静态方法

标签 c# .net

我想让我所有的子对象实现静态方法。例如:

public abstract class A {}
public class B : A {}
public class C : A {}

我希望 B 和 C 有 DoSomething() 静态方法,而在 A 中会有 DoSomething() 的默认实现。

这样做的最佳做法是什么?

最佳答案

你不能这样做。无论如何,您将无法以多态方式调用 静态方法。基本上,静态成员和多态性不能一起工作。要么放弃多态性,要么创建一个并行类型层次结构,其中那些是实例方法。

关于c# - 强制子对象实现静态方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7814111/

相关文章:

c# - 自定义标签助手如何在列表中设置 id 和名称

c# - LINQ List<> 上下移动元素

C# 自定义通用结构,具有与 Nullable<T> 相同的编译器行为

.net - 填充 'ViewModel' 对象的最佳实践/模式

c# - 方法参数范围

c# - 如何将 MySQL 连接器添加到 UWP C# 应用程序?

c# - 如何在 asp.net webform 中使用 jquery ajax 中的 c# 数据表?

.net - 这个不可序列化的对象在哪里?

c# - 如何以编程方式提取 AnonymousType?

.net - VS 2015移动文件后无法运行发布