Class c类是否会密封所有覆盖的成员?

Class c类是否会密封所有覆盖的成员?,class,Class,如果我密封一个类,那么所有被重写的成员都是隐式密封的,还是必须显式密封每个被重写的成员 public sealed ClassA : ClassB { // Is this implicitly sealed or do I have to explicitly seal public override void Method1() {} } 蒂亚 克劳斯来自 无法继承密封类。将密封类用作基类是错误的。在类声明中使用密封修饰符以防止类的继承 由于不能从类继承,因此不需要密封单个成员。事实上

如果我密封一个类,那么所有被重写的成员都是隐式密封的,还是必须显式密封每个被重写的成员

public sealed ClassA : ClassB
{

// Is this implicitly sealed or do I have to explicitly seal
public override void Method1()
{}

}
蒂亚

克劳斯

来自

无法继承密封类。将密封类用作基类是错误的。在类声明中使用密封修饰符以防止类的继承

由于不能从类继承,因此不需要密封单个成员。事实上,这毫无意义

我发现了一些密封类和方法,它们可能会提供进一步的澄清。

来自

无法继承密封类。将密封类用作基类是错误的。在类声明中使用密封修饰符以防止类的继承

由于不能从类继承,因此不需要密封单个成员。事实上,这毫无意义


我在密封类和方法上找到了一些可以提供进一步说明的信息。

密封类意味着不能从中继承。密封一个密封类的成员是没有意义的。

密封一个类意味着你不能从中继承。密封一个密封的类的成员是没有意义的。

密封整个类


这意味着,您可以继承并覆盖ClassB定义,但不能覆盖ClassA。

您可以密封整个ClassA


这意味着,您可以继承并覆盖ClassB定义,但不能覆盖ClassA。

当您将Seal关键字添加到一个类时,它会密封其上下文中的所有内容,但不会密封其上下文之外的任何内容,这意味着您正在从ClassB继承ClassA,所以即使您已经密封了ClassA,您仍然可以从类B方法中继承或重写类B方法。

当您将Seal关键字添加到类中时,它会将其上下文中的所有内容密封,但不会将其上下文之外的任何内容密封,这意味着您无法从类B中继承类a,因此即使您已经密封了类a,您仍然可以从类B方法中继承或重写类B方法