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 prvkuShadows
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ě sOverloads
,Overrides
neboStatic
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 elementuPrivate
, 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: