У меня есть класс, который предоставляет автоматически реализованное свойство Enabled
Public MustInherit Class TopLevel
Protected Property Enabled() As Boolean
End Class
В наследуемом классе я не могу получить доступ к _Enabled
Public Class SubClass
Inherits TopLevel
Public Function Foo() As string
If Not _Enabled Then Return Nothing '<- This fails
End SUb
End Class
Но если бы я не использовал автореализовал свойство и объявил мое собственное поле поддержки следующим образом: это доступно из подкласса:
Private _Enabled as Boolean
---- РЕДАКТИРОВАТЬ ---- неверная строка abve - это невозможно,на самом деле это был Protected
в исходном коде, который разрешал доступ из подкласса. См. @JonSkeet answer ---- EDIT ----
Конечно, я могу просто получить доступ к Enabled
изподкласс, чтобы обойти это, но кто-то может объяснить, почему это поведение?