CLS 규격이 아닌 'MustOverride' 멤버는 CLS 규격의 <classname>에 사용할 수 없습니다.

클래스가 <CLSCompliant(True)>로 표시되었지만 MustOverride 로 표시되었거나 표시되지 않은 <CLSCompliant(False)> 속성 또는 프로시저를 포함합니다.

클래스가 CLS(Language Independent and Language-Independent Components)를 준수하는 경우 해당 클래스를 사용하는 애플리케이션은 <CLSCompliant(True)>(으)로 표시된 멤버에만 액세스하고 그렇지 않은 멤버를 무시합니다. 그러나 애플리케이션이 재정의하기 위해 MustOverride 속성 또는 프로시저에 액세스해야 하므로 해당 속성 또는 프로시저를 무시할 수 없습니다.

CLSCompliantAttribute 를 프로그래밍 요소에 적용하는 경우 특성의 isCompliant 매개 변수를 True 또는 False 로 설정하여 준수 여부를 나타냅니다. 이 매개 변수에는 기본값이 없으며 값을 제공해야 합니다.

요소에 CLSCompliantAttribute 를 적용하지 않으면 비규격인 것으로 간주됩니다.

이 메시지는 기본적으로 경고입니다. 경고를 숨기거나 오류로 처리하는 방법에 대한 자세한 내용은 Configuring Warnings in Visual Basic을 참조하세요.

오류 ID: BC40034

이 오류를 해결하려면

  • CLS 규격이 필요하고 클래스 소스 코드를 제어할 수 있는 경우 멤버를 <CLSCompliant(True)>로 표시합니다.

  • CLS 규격이 필요하고 클래스 소스 코드를 제어할 수 없는 경우 또는 규격이 아닌 경우 다른 클래스 내에서 이 멤버를 정의합니다.

  • 이 멤버를 비규격으로 유지해야 하는 경우 해당 정의에서 MustOverride 키워드를 제거하거나, 클래스 정의에서 CLSCompliantAttribute 를 제거하거나, 클래스를 <CLSCompliant(False)>로 표시합니다.

참고 항목