Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anger att ett deklarerat programmeringselement redeclares och döljer ett identiskt namngivet element, eller en uppsättning överlagrade element, i en basklass.
Anmärkningar
Huvudsyftet med skuggning (som även kallas att dölja med namn) är att bevara definitionen av dina klassmedlemmar. Basklassen kan genomgå en ändring som skapar ett element med samma namn som ett som du redan har definierat. Om detta händer tvingar Shadows-modifieraren att referenser genom din klass ska matchas till den medlem du definierade, istället för till det nya basklasselementet.
Både skuggning och åsidosättande omdefinierar ett ärvt element, men det finns betydande skillnader mellan de två metoderna. Mer information finns i Skuggning i Visual Basic.
Reglemente
Deklarationskontext. Du kan bara använda
Shadowspå klassnivå. Det innebär att deklarationskontexten för ettShadowselement måste vara en klass och inte kan vara en källfil, namnrymd, gränssnitt, modul, struktur eller procedur.Du kan bara deklarera ett skuggelement i en enda deklarationssats.
Kombinerade modifierare. Du kan inte ange
Shadowstillsammans medOverloads,OverridesellerStatici samma deklaration.Elementtyper. Du kan skugga alla typer av deklarerade element med någon annan typ. Om du skuggar en egenskap eller procedur med en annan egenskap eller procedur behöver parametrarna och returtypen inte matcha dem i basklassegenskapen eller -proceduren.
Åtkomst. Det skuggade elementet i basklassen är normalt inte tillgängligt från den härledda klassen som skuggar det. Följande överväganden gäller dock.
Om skuggelementet inte är tillgängligt från koden som refererar till det matchas referensen till det skuggade elementet. Om ett
Privateelement till exempel skuggar ett basklasselement, kommer kod som inte har behörighet att komma åt elementetPrivateatt komma åt basklasselementet i stället.Om du skuggar ett element kan du fortfarande komma åt det skuggade elementet via ett objekt som deklarerats med basklassens typ. Du kan också komma åt den via
MyBase.
Modifieraren Shadows kan användas i följande sammanhang: