Överlagringar (Visual Basic)
Anger att en egenskap eller procedur redeclares en eller flera befintliga egenskaper eller procedurer med samma namn.
Kommentarer
Överlagring är en metod för att tillhandahålla mer än en definition för en viss egenskap eller ett angivet procedurnamn i samma omfång. Redeclaring av en egenskap eller procedur med en annan signatur kallas ibland dölja med signatur.
Regler
Deklarationskontext. Du kan bara använda
Overloads
i en egenskaps- eller procedurdeklarationssats.Kombinerade modifierare. Du kan inte ange
Overloads
tillsammans med Skuggor i samma procedurdeklaration.Nödvändiga skillnader. Signaturen i den här deklarationen måste skilja sig från signaturen för varje egenskap eller procedur som den överbelastar. Signaturen består av egenskapen eller procedurnamnet tillsammans med följande:
antalet parametrar
parametrarnas ordning
parametrarnas datatyper
antalet typparametrar (för en allmän procedur)
returtypen (endast för en konverteringsoperatorprocedur)
Alla överlagringar måste ha samma namn, men var och en måste skilja sig från alla andra i en eller flera av ovanstående avseenden. På så sätt kan kompilatorn särskilja vilken version som ska användas när koden anropar egenskapen eller proceduren.
Otillåtna skillnader. Att ändra ett eller flera av följande är inte giltigt för överlagring av en egenskap eller procedur, eftersom de inte ingår i signaturen:
om det returnerar ett värde (för en procedur)
datatypen för returvärdet (förutom en konverteringsoperator)
namnen på parametrarna eller typparametrarna
begränsningarna för typparametrarna (för en allmän procedur)
parametermodifierarnyckelord (till exempel
ByRef
ellerOptional
)nyckelord för egenskaps- eller procedurmodifierare (till exempel
Public
ellerShared
)
Valfri modifierare. Du behöver inte använda
Overloads
modifieraren när du definierar flera överlagrade egenskaper eller procedurer i samma klass. Men om du använderOverloads
i någon av deklarationerna måste du använda den i alla.Skuggning och överlagring.
Overloads
kan också användas för att skugga en befintlig medlem, eller en uppsättning överlagrade medlemmar, i en basklass. När du använderOverloads
på det här sättet deklarerar du egenskapen eller metoden med samma namn och samma parameterlista som basklassmedlemmen, och du anger inte nyckelordetShadows
.
Om du använder Overrides
lägger kompilatorn implicit till Overloads
så att biblioteks-API:erna fungerar med C# enklare.
Modifieraren Overloads
kan användas i följande sammanhang: