Compilerfout CS0112

Een statisch lid 'memberfunctie' in een klasse of structuur kan niet als overschrijven, virtueel of abstract worden gemarkeerd.

Elke methodeverklaring in een klasse of struct die gebruikmaakt van het override, virtual, of abstract trefwoord, kan het static trefwoord niet ook gebruiken.

Vóór C# 11 konden interfaceleden niet combineren static met override, virtualof abstract. Vanaf C# 11 kunnen interfacemethoden, eigenschappen, gebeurtenissen en operators worden gecombineerd static met abstract of virtual door gebruik te maken van static abstract of static virtual.

Zie Methoden voor meer informatie.

In het volgende voorbeeld wordt CS0112 gegenereerd:

// 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;  
      }  
   }  
}