Sdílet prostřednictvím


Shadows (Visual Basic)

Určuje, že deklarovaný programovací prvek předefinuje a skryje identický pojmenovaný prvek nebo sadu přetížených elementů v základní třídě.

Poznámky

Hlavním účelem stínování (označovaného také jako skrytí podle názvu) je zachovat definici členů třídy. Základní třída může projít změnou, která vytvoří prvek se stejným názvem jako ten, který jste již definovali. Pokud k tomu dojde, Shadows modifikátor vynutí odkazy prostřednictvím vaší třídy, aby se přeložily na člena, který jste definovali, místo na nový element základní třídy.

Stínování i přepsání předefinuje zděděný prvek, ale mezi těmito dvěma přístupy existují významné rozdíly. Další informace naleznete v tématu Stínování v jazyce Visual Basic.

Pravidla

  • Kontext deklarace Můžete použít Shadows pouze na úrovni třídy. To znamená, že kontext deklarace prvku Shadows musí být třída a nemůže být zdrojovým souborem, oborem názvů, rozhraním, modulem, strukturou nebo procedurou.

    V jednom příkazu deklarace můžete deklarovat pouze jeden prvek stínování.

  • Kombinované modifikátory. Nelze zadat Shadows společně s Overloads, Overridesnebo Static ve stejné deklaraci.

  • Typy elementů. Můžete stínovat jakýkoli druh deklarovaného prvku s jakýmkoli jiným druhem. Pokud stíníte vlastnost nebo proceduru s jinou vlastností nebo procedurou, parametry a návratový typ nemusí odpovídat vlastnostem nebo procedurě základní třídy.

  • Přístup. Stínovaný prvek v základní třídě je obvykle nedostupný z odvozené třídy, která ho stínuje. Platí však následující aspekty.

    • Pokud není prvek stínování přístupný z kódu odkazujícího na něj, odkaz se přeloží na stínovaný prvek. Pokud Private například element stínuje element základní třídy, kód, který nemá oprávnění pro přístup k elementu Private , místo toho přistupuje k elementu základní třídy.

    • Pokud stíníte prvek, můžete stále přistupovat ke stínovanému prvku prostřednictvím objektu deklarovaného s typem základní třídy. Můžete k němu přistupovat také prostřednictvím MyBase.

Shadows Modifikátor lze použít v těchto kontextech:

Viz také