Error del compilador CS0112

Un miembro estático 'function' de una clase o estructura no se puede marcar como override, virtual o abstract.

Cualquier declaración de método en una clase o estructura que use la overridepalabra clave , virtualo abstract tampoco puede usar la static palabra clave .

Antes de C# 11, los miembros de la interfaz no se podían combinar static con override, virtual o abstract. A partir de C# 11, los métodos de interfaz, las propiedades, los eventos y los operadores pueden combinarse static con abstract o virtual mediante static abstract o static virtual.

Para obtener más información, vea Métodos.

El siguiente ejemplo genera 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;  
      }  
   }  
}