Overrides (Visual Basic)

Gibt an, dass eine Eigenschaft oder Prozedur eine Eigenschaft oder Prozedur mit dem gleichen Namen überschreibt, die von einer Basisklasse geerbt wurde.

Regeln

  • Deklarationskontext. Sie können Overrides nur in einer Eigenschaft oder einer Prozedurdeklarationsanweisung verwenden.

  • Kombinierte Modifizierer. Sie können Overrides nicht zusammen mit Shadows oder Shared in derselben Deklaration angeben. Da ein überschreibendes Element implizit überschreibbar ist, können Sie Overridable nicht mit Overrides kombinieren.

  • Übereinstimmende Signaturen. Die Signatur dieser Deklaration muss genau mit der Signatur der Eigenschaft oder Prozedur übereinstimmen, die von der Deklaration überschrieben wird. Das bedeutet, dass die Anzahl, die Reihenfolge und die Datentypen der Parameter in den Parameterlisten gleich sein müssen.

    Neben der Signatur müssen auch die folgenden Elemente der überschreibenden Deklaration genau übereinstimmen:

    • Die Zugriffsebene

    • Der Rückgabetyp, falls vorhanden

  • Generische Signaturen. Bei einer generischen Prozedur umfasst die Signatur die Anzahl der Typparameter. Daher muss die überschreibende Deklaration auch in dieser Hinsicht mit der Basisklassenversion übereinstimmen.

  • Zusätzliche Übereinstimmung. Diese Deklaration muss nicht nur in Bezug auf die Signatur, sondern auch in folgenden Punkten mit der Basisklassenversion übereinstimmen:

    • Modifizierer auf Zugriffsebene (z. B. Public)

    • Übergabemechanismus jedes Parameters (ByVal oder ByRef)

    • Einschränkungslisten für jeden Typparameter einer generischen Prozedur

  • Shadowing und Überschreiben. Sowohl das Shadowing als auch das Überschreiben definieren ein geerbtes Element neu, es gibt jedoch bedeutende Unterschiede zwischen den beiden Vorgehensweisen. Weitere Informationen finden Sie unter Shadowing in Visual Basic.

Beim Verwenden von Overrides fügt der Compiler implizit Overloads hinzu, sodass Ihre Bibliotheks-APIs leichter mit C# verwendet werden können.

Der Overrides-Modifizierer kann in folgenden Kontexten verwendet werden:

Siehe auch