Erro do compilador CS0112

Uma "função" membro estática em uma classe ou struct não pode ser marcada como override, virtual ou abstrata.

Qualquer declaração de método em uma classe ou struct que use a palavra-chave override, virtual ou abstract não pode também usar a palavra-chave static.

Antes do C# 11, os membros da interface não podiam combinar static com override, virtualou abstract. A partir do C# 11, métodos de interface, propriedades, eventos e operadores podem combinar static com abstract ou virtual usando static abstract ou static virtual.

Para obter mais informações, consulte Métodos.

O exemplo a seguir gera CS0112:

// CS0112.cs  
namespace MyNamespace  
{  
   abstract public class MyClass  
   {  
      public abstract void Foo();  
   }  
   public class MyClass2 : MyClass  
   {  
      override public static void Foo()   // CS0112, remove static keyword  
      {  
      }  
      public static int Main()  
      {  
         return 0;  
      }  
   }  
}