Overloads (Visual Basic)
Gibt an, dass eine Eigenschaft oder Prozedur eine Eigenschaft oder Prozedur bzw. mehrere mit dem gleichen Namen neu deklariert.
Bemerkungen
Als Überladung wird die Bereitstellung von mehreren Definitionen für eine bestimmte Eigenschaft oder einen Prozedurnamen im selben Bereich bezeichnet. Das erneute Deklarieren einer Eigenschaft oder Prozedur mit einer anderen Signatur wird gelegentlich als Ausblenden nach Signatur bezeichnet.
Regeln
Deklarationskontext. Sie können
Overloads
nur in einer Eigenschaft oder einer Prozedurdeklarationsanweisung verwenden.Kombinierte Modifizierer. Sie können nicht
Overloads
zusammen mit Shadows in derselben Prozedurdeklaration angeben.Erforderliche Unterschiede. Die Signatur in dieser Deklaration muss sich von der Signatur jeder Eigenschaft oder Prozedur unterscheiden, die sie überlädt. Die Signatur besteht aus der Eigenschaft oder dem Prozedurnamen und dem Folgenden:
der Anzahl der Parameter
Der Reihenfolge der Parameter
der Datentypen der Parameter
der Anzahl der Typparameter (für eine generische Prozedur)
der Rückgabetyp (nur für eine Konvertierungsoperatorprozedur)
Alle Überladungen müssen denselben Namen aufweisen. Jede muss sich jedoch von allen anderen in mindestens einem der vorstehenden Punkte unterscheiden. Dadurch kann der Compiler unterscheiden, welche Version verwendet werden muss, wenn der Code die Eigenschaft oder Prozedur aufruft.
Nicht zulässige Unterschiede. Das Ändern von mindestens einem der folgenden Punkte ist für das Überladen einer Eigenschaft oder Prozedur nicht gültig, da sie kein Bestandteil der Signatur sind:
ob ein Wert (für eine Prozedur) zurückgegeben wird
der Datentyp des Rückgabewerts (mit Ausnahme eines Konvertierungsoperators)
die Namen der Parameter oder Typparameter
die Einschränkungen hinsichtlich der Typparameter (für eine generische Prozedur)
Parametermodifiziererschlüsselwörter (wie
ByRef
oderOptional
)Eigenschaft oder Prozedurmodifiziererschlüsselwörter (wie
Public
oderShared
)
Optionaler Modifizierer. Sie müssen den
Overloads
-Modifizierer nicht verwenden, wenn Sie mehrere überladene Eigenschaften oder Prozeduren in derselben Klasse definieren. Wenn Sie jedochOverloads
in einer der Deklarationen verwenden, müssen Sie sie in allen davon verwenden.Shadowing und Überladen.
Overloads
kann auch zum Durchführen eines Shadowings für ein vorhandenes Member oder einen Satz mit überladenen Membern in einer Basisklasse verwendet werden. Wenn SieOverloads
auf diese Art und Weise verwenden, deklarieren Sie die Eigenschaft oder Methode mit demselben Namen und derselben Parameterliste als Basisklassenmember, und Sie stellen dasShadows
-Schlüsselwort nicht bereit.
Beim Verwenden von Overrides
fügt der Compiler implizit Overloads
hinzu, sodass Ihre Bibliotheks-APIs leichter mit C# verwendet werden können.
Der Overloads
-Modifizierer kann in folgenden Kontexten verwendet werden: