Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Anmärkning
Det här innehållet skrivs om med behörighet från Pearson Education, Inc. från Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Den utgåvan publicerades 2008, och boken har sedan dess reviderats helt i den tredje utgåvan. En del av informationen på den här sidan kan vara inaktuell.
Överlagring av medlemmar innebär att skapa två eller flera medlemmar av samma typ som endast skiljer sig åt i antal eller typ av parametrar men som har samma namn. I följande WriteLine exempel är metoden överbelastad:
public static class Console {
public void WriteLine();
public void WriteLine(string value);
public void WriteLine(bool value);
...
}
Eftersom endast metoder, konstruktorer och indexerade egenskaper kan ha parametrar kan endast dessa medlemmar överbelastas.
Överlagring är en av de viktigaste teknikerna för att förbättra användbarhet, produktivitet och läsbarhet för återanvändbara bibliotek. Överlagring av antalet parametrar gör det möjligt att tillhandahålla enklare versioner av konstruktorer och metoder. Överlagring av parametertypen gör det möjligt att använda samma medlemsnamn för medlemmar som utför identiska åtgärder på en vald uppsättning av olika typer.
✔️ Försök att använda beskrivande parameternamn för att ange standardvärdet som används av kortare överlagringar.
❌ UNDVIK godtyckligt varierande parameternamn i överlagringar. Om en parameter i en överlagring representerar samma indata som en parameter i en annan överlagring bör parametrarna ha samma namn.
❌ UNDVIK att vara inkonsekvent i ordningen på parametrar i överbelastade medlemmar. Parametrar med samma namn ska visas i samma position i alla överlagringar.
✔️ Gör bara den längsta överlagringen virtuell (om utökningsbarhet krävs). Kortare överlagringar bör helt enkelt ge längre överbelastning.
❌ ANVÄND INTE ref eller out modifierare för att överbelasta medlemmar.
Vissa språk kan inte lösa anrop till överbelastningar som detta. Dessutom har sådana överlagringar vanligtvis helt olika semantik och bör förmodligen inte vara överbelastningar utan två separata metoder istället.
❌ Ha INTE överlagringar med parametrar i samma position och liknande typer men med olika semantik.
✔️ TILLÅT att null skickas för valfria argument.
✔️ ANVÄND överbelastning av medlemmar i stället för att definiera medlemmar med standardargument.
Standardargumenten är inte CLS-kompatibla.
Portioner © 2005, 2009 Microsoft Corporation. Alla rättigheter reserverade.
Återtryckt med tillstånd från Pearson Education, Inc. från Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition av Krzysztof Cwalina och Brad Abrams, publicerades den 22 oktober 2008 av Addison-Wesley Professional som en del av Microsoft Windows Development Series.