" deklariert werden - Visual Basic | Microsoft Learn" data-list-item-url="/dotnet/visual-basic/misc/bc31106" data-list-source="module" data-resource-type="" data-bi-name="add-to-list" aria-describedby="popover-content" aria-expanded="false" > Speichern
Eigenschaftenzugriffsmethoden können in einer NotOverridable-Eigenschaft nicht als „<accessmodifier>“ deklariert werden.
Eine Get-Anweisung oder Set-Anweisung in einer NotOverridable
-Eigenschaft enthält das Schlüsselwort Private
.
Anhand der folgenden logischen Beschreibung wird erläutert, warum NotOverridable
und Private
nicht in einer Property Statementkombiniert werden können:
Eine Eigenschaft oder Prozedur, die keine Basisklasseneigenschaft bzw. -prozedur überschreibt, hat die Standardeinstellung NotOverridable.
Eine Eigenschaft oder Prozedur in einer abgeleiteten Klasse, die eine Basisklasseneigenschaft bzw. -prozedur überschreibt, hat dagegen die Standardeinstellung Overridable. Um die Hierarchie des Überschreibens zu beenden, können Sie diese als
NotOverridable
deklarieren. Dies ist der einzige Kontext, in dem SieNotOverridable
verwenden können. Das heißt, Sie könnenNotOverridable
nur in Verbindung mit Overrides.Ist eine Eigenschaft oder Prozedur einer Basisklasse als Privatedeklariert, kann diese Eigenschaft oder Prozedur nicht von einer abgeleiteten Klasse überschrieben werden, da diese nicht auf die Eigenschaft oder Prozedur zugreifen kann. Daher können Sie
Private
nicht in Verbindung mitOverridable
verwenden.Um eine Eigenschaft oder Prozedur zu überschreiben, muss die überschreibende Eigenschaft oder Prozedur nicht nur dieselbe Signatur, sondern auch dieselbe Zugriffsebene haben. Das bedeutet, dass eine überschreibende Eigenschaft oder Prozedur
Private
nicht angeben kann, weil eine überschreibbare Eigenschaft oder ProzedurPrivate
nicht angeben kann.Da Sie
NotOverridable
nur für eine überschreibende Eigenschaft oder Prozedur angeben können, können Sie dieses Schlüsselwort nicht mitPrivate
kombinieren.
Aufgrund derselben Logik können die einzelnen Eigenschaftenprozeduren (Get
und Set
) einer überschreibenden Eigenschaft nicht Private
sein.
Fehler-ID: BC31106
- Entfernen Sie das
Private
-Schlüsselwort aus derGet
- oderSet
-Anweisung, oder entfernen Sie die SchlüsselwörterOverrides
undNotOverridable
aus derProperty
-Anweisung.