속성 '<propertyname>'은(는) 기본 클래스 '<baseclassname>'의 멤버 '<membername>'에 대해 암시적으로 선언된 멤버와 충돌하는 '<implicitmembername>'을(를) 암시적으로 선언합니다.
업데이트: 2007년 11월
오류 메시지
멤버 '<membername1>'은(는) 기본 클래스 '<baseclassname>'의 멤버 '<membername2>'에 대해 암시적으로 선언된 멤버와 충돌하는 '<implicitmembername>'을(를) 암시적으로 선언합니다. 그러므로 해당 멤버를 'Overloads'로 선언할 수 없습니다.
Member '<membername1>' implicitly declares '<implicitmembername>', which conflicts with a member implicitly declared for member '<membername2>' in the base class '<baseclassname>'. So the member should not be declared 'Overloads'.
파생 클래스의 속성이 기본 클래스의 암시적 멤버와 동일한 이름의 암시적 멤버를 생성하고 Overloads 키워드를 지정합니다.
오버로딩은 모두 동일한 클래스에 있는 속성이나 프로시저의 버전을 여러 개 정의하는 데 사용됩니다. 기본 클래스 멤버가 Overloads를 이미 지정하지 않는 경우 해당 기본 클래스 멤버의 추가 버전을 정의할 수 없습니다. 암시적 멤버가 Overloads를 지정하지 않으므로 컴파일러에서는 이 속성이 암시적 기본 클래스 멤버를 Shadows한다고 간주합니다.
Visual Basic 컴파일러에서 사용자가 선언하는 특정 프로그래밍 요소에 해당하는 암시적 멤버를 만듭니다. 다음 표에서는 이러한 암시적(종합적) 멤버에 대해 요약하여 설명합니다.
선언된 요소 |
암시적으로 만든 멤버 |
---|---|
열거형 |
value__ 멤버 |
이벤트 |
add_<eventname> 프로시저 remove_<eventname> 프로시저 <eventname>Event 필드 <eventname>EventHandler 대리자 |
속성 |
get_<propertyname> 프로시저 set_<propertyname> 프로시저 |
My.Form 멤버, My.WebService 멤버 또는 MyGroupCollectionAttribute 특성으로 표시된 클래스 멤버 |
m_<variablename>Static 변수 <variablename> 속성 get_<variablename> 프로시저 set_<variablename> 프로시저 |
WithEvents 변수 |
_<variablename> 변수 <variablename> 속성 get_<variablename> 프로시저 set_<variablename> 프로시저 |
이름이 충돌할 위험이 있으므로 선언된 프로그래밍 요소의 이름을 이러한 암시적 멤버 중 하나와 동일한 형식을 사용하여 지정하지 않아야 합니다. 예를 들어, get_이나 set_으로 시작하는 요소 이름을 사용하면 안 됩니다.
기본적으로 이 메시지는 경고입니다. 경고를 숨기거나 경고를 오류로 처리하는 방법은 Visual Basic에서 경고 구성을 참조하십시오.
오류 ID: BC40024
이 오류를 해결하려면
암시적 기본 클래스 멤버를 숨기려면 속성 선언에서 Overloads 키워드를 Shadows 키워드로 바꿉니다.
암시적 기본 클래스 멤버를 숨기지 않으려면 위의 표에 나열된 이름과 충돌하지 않도록 속성의 이름을 변경합니다.