C#sealed类创建其实例

时间:2017-12-20 04:50:18

标签: c# sealed

我知道这意味着更少的问题,但我很困惑为什么密封的类会创建它的实例。

public sealed class SealedClass1
{
    static SealedClass1()
    {
    }

    public string GetmeassageFromSealed(string mesage)
    {
        return mesage;
    }
}

这里我将构造函数装饰为私有

public sealed class SealedClass1
        {
            static SealedClass1()
            {

           }
      private Singleton()
            {

            }
            public string GetmeassageFromSealed(string mesage)
            {
                return mesage;
            }
        }

2 个答案:

答案 0 :(得分:2)

C#中的sealed关键字表示没有类可以从该类继承。

所以,如果您有这种情况:

public class Test { }

以下内容有效

public class NewTest: Test { }

但是,只要添加sealed关键字,编译器就会在尝试编译该库时抛出错误。

public sealed class Test { }

public class NewTest: Test { }

这将抛出

  

' NewTest'不能继承密封课程'测试'。

简而言之,sealed关键字是一个编译时检查,以确保没有继承。

答案 1 :(得分:1)

密封类可以实例化,也可以从其他类继承,但不能被其他类继承。