Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dieser Inhalt wird mit Genehmigung von Pearson Education, Inc. aus Framework Design Guidelines: Konventionen, Idiome und Muster für wiederverwendbare .NET-Bibliotheken, 2. Auflage nachgedruckt. Diese Ausgabe wurde 2008 veröffentlicht, und das Buch wurde seitdem in der dritten Ausgabe vollständig überarbeitet. Einige der Informationen auf dieser Seite sind möglicherweise veraltet.
Elementüberladung bedeutet, dass zwei oder mehr Elemente auf demselben Typ erstellt werden, die sich nur in der Anzahl oder dem Typ von Parametern unterscheiden, aber denselben Namen haben. Im folgenden Beispiel wird die WriteLine
Methode überladen:
public static class Console {
public void WriteLine();
public void WriteLine(string value);
public void WriteLine(bool value);
...
}
Da nur Methoden, Konstruktoren und indizierte Eigenschaften Parameter aufweisen können, können nur diese Member überladen werden.
Überlastung ist eine der wichtigsten Techniken zur Verbesserung der Benutzerfreundlichkeit, Produktivität und Lesbarkeit wiederverwendbarer Bibliotheken. Das Überladen der Anzahl von Parametern ermöglicht es, einfachere Versionen von Konstruktoren und Methoden bereitzustellen. Das Überladen auf dem Parametertyp ermöglicht die Verwendung desselben Mitgliedernamens für Mitglieder, die gleiche Operationen für eine ausgewählte Menge unterschiedlicher Typen ausführen.
✔️ Versuchen Sie, beschreibende Parameternamen zu verwenden, um den von kürzeren Überladungen verwendeten Standard anzugeben.
❌ VERMEIDEN Sie willkürlich unterschiedliche Parameternamen in Überladungen. Wenn ein Parameter in einer Überladung die gleiche Eingabe wie ein Parameter in einer anderen Überladung darstellt, sollten die Parameter denselben Namen haben.
❌ VERMEIDEN Sie, dass die Sortierung von Parametern in überladenen Membern inkonsistent ist. Parameter mit demselben Namen sollten an derselben Position in allen Überladungen angezeigt werden.
✔️ Legen Sie nur die längste Überladung als virtuell fest (wenn Erweiterbarkeit erforderlich ist). Kürzere Überladungen sollten lediglich eine längere Überladung aufrufen.
❌ Verwenden Sie KEINE ref
- oder out
-Modifizierer zum Überladen von Membern.
Bei einigen Sprachen können Aufrufe dieser Überladungen nicht aufgelöst werden. Darüber hinaus weisen solche Überladungen in der Regel völlig unterschiedliche Semantik auf und sollten wahrscheinlich keine Überladungen, sondern zwei separate Methoden sein.
❌ Verwenden Sie KEINE Überladungen mit Parametern an derselben Position und ähnlichen Typen, aber mit unterschiedlicher Semantik.
✔️ Lassen Sie zu, dass null
für optionale Argumente übergeben werden kann.
✔️ Nutzen Sie das Überladen von Membern, anstatt Member mit Standardargumenten zu definieren.
Standardargumente sind nicht CLS-kompatibel.
© Teile 2005, 2009 Microsoft Corporation. Alle Rechte vorbehalten.
Nachdruck mit freundlicher Genehmigung von Pearson Education, Inc., aus dem Buch Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition von Krzysztof Cwalina und Brad Abrams, veröffentlicht am 22. Oktober 2008 von Addison-Wesley Professional als Teil der Microsoft Windows Development Series.