Errore del compilatore CS0112

Un membro statico 'function' in una classe o una struct non può essere contrassegnato come override, virtuale o astratto.

Qualsiasi dichiarazione di metodo in una classe o uno struct che usa la overrideparola chiave , virtualo abstract non può usare anche la static parola chiave .

Prima di C# 11, i membri dell'interfaccia non potevano combinare static con override, virtualo abstract. A partire da C# 11, metodi di interfaccia, proprietà, eventi e operatori possono essere combinati static con abstract o virtual usando static abstract o static virtual.

Per altre informazioni, vedere Metodi.

L'esempio seguente genera l'errore 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;  
      }  
   }  
}