覆盖密封有效,但为什么不在C#中进行虚拟密封?

pri*_*kar 2 .net c# oop

以下代码段有效

public class BaseClass
{

   public virtual void Display()
   {
      Console.WriteLine("Virtual method");
   }
 }

public class DerivedClass : BaseClass
{

  public override sealed void Display()
  {
       Console.WriteLine("Sealed method");
  }
Run Code Online (Sandbox Code Playgroud)

}

但为什么不呢

public class BaseClass
{

 public virtual sealed void Display()
 {
          Console.WriteLine("Virtual method");
 }
}
Run Code Online (Sandbox Code Playgroud)

编辑

其实我正在阅读什么是密封类和密封方法?本文.所以我按照作者的指示.突然,我试着用基类来演奏Sealed的概念.这就是我提出这个问题的原因.

Jon*_*eet 16

override sealed是有效的,因为它说"我正在覆盖基类方法,但派生类不能覆盖我." 那讲得通.其中一部分是谈论与基类的关系; 另一个是谈论派生类的关系.

virtual sealed会说"你可以覆盖我(virtual),但你不能覆盖我(sealed)." 这是没有意义的.这两个修饰语是矛盾的,适用于相同的关系.