Выражение рекурсивно вызывает содержащее свойство <имяСвойства>
Обновлен: Ноябрь 2007
Expression recursively calls the containing property '<propertyname>'
Оператор в процедуре Set определения свойства сохраняет значение в имени свойства.
Рекомендуемый подход для хранения значений свойств заключается в определении переменной Private в контейнере свойства и использование его в процедурах Get и Set. Процедура Set затем будет хранить входящее значение в этой переменной Private.
Процедура Get действует как процедура Function, поэтому можно присвоить значение имени свойства и вернуть управление путем добавления оператора End Get. Рекомендуемым подходом, однако, является включение переменной Private в качестве значения в Оператор Return (Visual Basic).
Процедура Set действует как процедура Sub, которая не возвращает значения. Поэтому имя процедуры или свойства не имеет особого смысла в процедуре Set, и в ней нельзя хранить значения.
В следующем примере показан подход, который может вызвать эту ошибку, после чего показан рекомендуемый подход.
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
По умолчанию это сообщение является предупреждением. Дополнительные сведения о скрытии предупреждений или обработке предупреждений в качестве ошибки содержатся в разделе Настройка предупреждений в Visual Basic.
Идентификатор ошибки: BC42026
Для исправления данной ошибки выполните следующее.
- Перепишите определение свойства согласно рекомендуемому подходу, как показано в предыдущем примере.