다음을 통해 공유


'MustOverride'는 다른 부분 정의에서 'NotInheritable'로 선언된 부분 형식(Partial Type)에 속하므로 '<procedurename>'에 지정할 수 없습니다.

업데이트: 2007년 11월

'MustOverride' cannot be specified on '<procedurename>' because it is in a partial type that is declared 'NotInheritable' in another partial definition

프로시저 또는 속성이 여러 partial 선언에서 정의한 클래스 내에서 MustOverride로 선언되어 있지만 부분 정의 중 하나가 클래스에 대해 NotInheritable을 지정합니다.

여러 partial 선언 중에서 클래스의 정의를 나눌 때 컴파일러는 클래스를 모든 partial 선언의 공용 구조체로 다룹니다. 이 내용은 멤버뿐만 아니라 구현, 상속 및 액세스 수준에도 적용됩니다.

프로시저나 속성을 재정의하려면 클래스는 기본 클래스에서 프로시저나 속성을 상속해야 합니다. 따라서 기본 클래스의 프로시저나 속성에 대해 MustOverride를 지정하려면 해당 클래스에 대해 MustInherit를 지정해야 합니다. MustInherit와 NotInheritable은 함께 사용할 수 없으므로 동일한 클래스에 대해 동시에 지정할 수 없습니다.

오류 ID: BC30927

이 오류를 해결하려면

  • 속성이나 프로시저를 재정의해야 하는 경우 속성이나 프로시저가 나타나는 partial 선언에서 NotInheritable 키워드를 제거합니다.

  • 클래스가 NotInheritable이어야 하는 경우 프로시저나 속성에서 MustOverride 키워드를 제거합니다. 클래스를 상속할 수 없기 때문에 재정의할 수 없습니다.

참고 항목

개념

상속 기본 사항

참조

Partial(Visual Basic)

MustOverride

MustInherit

NotInheritable