Der Ausdruck ruft rekursiv die enthaltende <Eigenschaftenname>-Eigenschaft auf
Aktualisiert: November 2007
Expression recursively calls the containing property '<propertyname>'
Eine Eigenschaft in der Set-Prozedur einer Eigenschaftendefinition speichert einen Wert im Namen der Eigenschaft.
Die empfohlene Vorgehensweise zum Speichern des Werts einer Eigenschaft ist das Definieren einer Private-Variablen im Container der Eigenschaft und das Verwenden der Variablen in der Get-Prozedur und der Set-Prozedur. Die Set-Prozedur muss dann den eingehenden Wert in der Private-Variablen speichern.
Das Verhalten der Get-Prozedur entspricht dem Verhalten der Function-Prozedur. Sie kann daher dem Eigenschaftennamen einen Wert zuweisen und die Steuerung zurückgeben, wenn die End Get-Anweisung ausgeführt wird. Es empfiehlt sich jedoch, die Private-Variable als Wert in eine Return-Anweisung (Visual Basic) einzufügen.
Das Verhalten der Set-Prozedur entspricht dem Verhalten der Sub-Prozedur, die keinen Wert zurückgibt. Daher ist der Name einer Prozedur oder Eigenschaft in einer Set-Prozedur ohne besondere Bedeutung, und Sie können keinen Wert in dem Namen speichern.
Im folgenden Beispiel wird die Vorgehensweise veranschaulicht, die diesen Fehler verursachen kann, und anschließend wird die empfohlene Vorgehensweise beschrieben.
Public Class illustrateProperties
' The code in the following property causes this error.
Public Property badProp() As Char
Get
Dim charValue As Char
' Insert code to update charValue.
badProp = charValue
End Get
Set(ByVal Value As Char)
' The following statement causes this error.
badProp = Value
' The value stored in the local variable badProp
' is not used by the Get procedure in this property.
End Set
End Property
' The following code uses the recommended approach.
Private propValue As Char
Public Property goodProp() As Char
Get
' Insert code to update propValue.
Return propValue
End Get
Set(ByVal Value As Char)
propValue = Value
End Set
End Property
End Class
Standardmäßig ist diese Meldung eine Warnung. Weitere Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.
Fehler-ID: BC42026
So beheben Sie diesen Fehler
- Schreiben Sie die Eigenschaftendefinition entsprechend der empfohlenen Vorgehensweise neu, die im vorherigen Beispiel veranschaulicht wurde.