Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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, modifikátor Shadows vynutí, aby se odkazy ve vaší třídě vyřešily na člena, kterého 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
Shadowspouze na úrovni třídy. To znamená, že kontext deklarace prvkuShadowsmusí 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
Shadowsspolečně sOverloads,OverridesneboStaticve 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
Privatenapří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: