Shadows(Visual Basic)

선언된 프로그래밍 요소가 기본 클래스에서 동일한 이름의 요소 또는 오버로드된 요소 집합을 다시 선언하고 숨기게 합니다.

설명

섀도잉(이름으로 숨기기라고도 함)의 주요 목적은 클래스 멤버의 정의를 유지하는 것입니다. 기본 클래스는 이미 정의한 것과 이름이 같은 요소를 만드는 변경이 발생할 수 있습니다. 이 경우 Shadows 한정자는 클래스를 통해 참조를 강제로 새 기본 클래스 요소 대신 정의한 멤버로 확인합니다.

숨김과 재정의는 둘 다 상속된 요소를 다시 정의하지만 두 방법에는 중요한 차이점이 있습니다. 자세한 내용은 Visual Basic의 숨김 기능을 참조하세요.

규칙

  • 선언 컨텍스트. 클래스 수준에서만 Shadows를 사용할 수 있습니다. 이는 Shadows 요소에 대한 선언 컨텍스트가 클래스여야 하며 원본 파일, 네임스페이스, 인터페이스, 모듈, 구조 또는 절차일 수 없음을 의미합니다.

    단일 선언 문에서 하나의 섀도링 요소만 선언할 수 있습니다.

  • 결합된 한정자. 동일한 선언에서 Overloads, Overrides 또는 Static와 함께 Shadows을 지정할 수 없습니다.

  • 요소 형식. 모든 종류의 선언된 요소를 다른 종류로 섀도잉할 수 있습니다. 다른 속성 또는 프로시저를 사용하여 속성 또는 프로시저를 숨기면 매개 변수 및 반환 형식이 기본 클래스 속성 또는 프로시저의 매개 변수와 일치하지 않아도 됩니다.

  • 액세스. 기본 클래스의 그림자 요소는 일반적으로 해당 요소를 숨기는 파생 클래스 내에서 사용할 수 없습니다. 그러나 다음 고려 사항이 적용됩니다.

    • 섀도 요소를 참조하는 코드에서 섀도링 요소에 액세스할 수 없는 경우 참조가 그림자 요소로 확인됩니다. 예를 들어 Private 요소가 기본 클래스 요소를 섀도잉하는 경우 Private 요소에 액세스할 수 있는 권한이 없는 코드는 기본 클래스 요소에 대신 액세스합니다.

    • 요소를 숨기면 기본 클래스의 형식으로 선언된 개체를 통해 그림자 요소에 계속 액세스할 수 있습니다. MyBase을(를) 통해 액세스할 수도 있습니다.

Shadows 한정자는 다음 컨텍스트에서 사용할 수 있습니다.

참고 항목