컴파일러 오류 CS0112

클래스 또는 구조체의 정적 멤버 'function'은 재정의, 가상 또는 추상으로 표시할 수 없습니다.

클래스 또는 구조체의 메서드 선언에서 override, virtual, abstract 키워드를 사용하는 경우, static 키워드를 사용할 수 없습니다.

C# 11 이전에는 인터페이스 멤버가 staticoverride이나 virtual, 또는 abstract과 결합할 수 없었습니다. C# 11부터 인터페이스 메서드, 속성, 이벤트 및 연산자를 static abstract 또는 static virtual를 사용하여 staticabstract, virtual와 결합할 수 있습니다.

자세한 내용은 메서드를 참조 하세요.

다음 샘플에서는 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;  
      }  
   }  
}