다음을 통해 공유


그림자(Visual Basic)

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

비고

섀도킹( 이름으로 숨기기라고도 함)의 주요 목적은 클래스 멤버의 정의를 유지하는 것입니다. 기본 클래스는 이미 정의한 것과 이름이 같은 요소를 만드는 변경이 발생할 수 있습니다. 이 경우 Shadows 한정자는 클래스를 통한 참조를 새롭게 추가된 기본 클래스의 요소가 아닌, 정의한 멤버로 해결되도록 강제합니다.

섀도링 및 재정의 모두 상속된 요소를 다시 정의하지만 두 방법 사이에는 상당한 차이가 있습니다. 자세한 내용은 Visual Basic의 그림자를 참조하세요.

규칙

  • 선언 컨텍스트입니다. 클래스 수준에서만 사용할 Shadows 수 있습니다. 즉, 요소의 선언 컨텍스트는 Shadows 클래스여야 하며 소스 파일, 네임스페이스, 인터페이스, 모듈, 구조 또는 프로시저가 될 수 없습니다.

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

  • 결합된 한정자입니다. 또는 동일한 선언과 함께 OverloadsOverridesStatic 지정할 Shadows 수 없습니다.

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

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

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

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

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

참고하십시오