如何定义必须继承的类

时间:2012-06-23 21:02:57

标签: c# oop

如何定义必须继承的类?在C#

6 个答案:

答案 0 :(得分:36)

您将该类标记为abstract(这是VB.NET的{C#类似物Must Inherit)。

这将确保无法直接实例化。

来自链接的MSDN文章:

  

abstract修饰符指示正在修改的内容具有缺少或不完整的实现。 abstract修饰符可以与类,方法,属性,索引器和事件一起使用。 在类声明中使用abstract修饰符来指示某个类仅用作其他类的基类。标记为抽象或包含在抽象类中的成员必须由派生自抽象类的类实现。

(强调我的)

答案 1 :(得分:7)

使用abstract修饰符。

public abstract class MyClass()
{
    ...
}

答案 2 :(得分:5)

您可以将类定义为abstract,或者为其提供仅受保护的构造函数。 abstract更好。

答案 3 :(得分:4)

如果你想创建一个必须继承的类,你需要用abstract修饰符标记它。

public abstract MyClass
{
}

答案 4 :(得分:2)

如果 是一个问题,那么代码中的派生或实现是不可能的。

可是:

您可以定义interface以强制消费者实施

或者您可以仅使用抽象成员定义abstract class,以强制消费者覆盖所有

希望这有帮助。

答案 5 :(得分:0)

最好是一个界面。

如果您需要模拟功能,并且不需要在编译时失败...

  1. 在基类中定义一个方法。抛出一个异常作为实现中的唯一一行。您可能想让问题信息非常清楚。

  2. 覆盖超类中的方法并实现它们。 如果您无法在超类中实现,则将获得异常。

并不完美,但是说您正在尝试从vb.net移植代码...这可能行得通。