【问题标题】:Making a class not inherited使类不被继承
【发布时间】:2011-04-02 11:05:17
【问题描述】:

我正在尝试创建一个 c# 类,但我不希望它被继承。我怎样才能做到这一点?

【问题讨论】:

    标签: c# class inheritance


    【解决方案1】:

    sealed 是您要查找的单词,以及reference 的链接

    public sealed class MyClass
    {
    
    }
    

    然后像往常一样创建你的类,但是你不能从它继承。

    你仍然可以像这样从不同的类继承

    public sealed class MyClass : MyBaseClass
    {
    
    }
    

    【讨论】:

      【解决方案2】:

      添加到PostMan's 答案,我们可以通过使类构造函数 Private 来实现相同的目的。

      class NotInheritable
          {
      
              private NotInheritable()
              {
                  //making the constructor private
              }
          }
      
       class Derived : NotInheritable { }
      

      现在NotInheritable类将不可继承,编译器会提示错误:

      NotInheritable.NotInheritable() 因其保护级别而无法访问。

      【讨论】:

      • code formatting主要用于代码。您还可以使用粗体和斜体文本进行格式化。
      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 2016-05-29
      • 2017-02-26
      • 2018-05-23
      • 2020-06-06
      • 1970-01-01
      • 1970-01-01
      • 2018-08-13
      相关资源
      最近更新 更多