Переопределение переопределяемого свойства, не распознанного пользователем VB.NET-что?
Я создал базовый класс с Переопределяемыми свойствами:
Public Class MyBaseClass Inherits Panel Public Overridable Property ProcessArguments As String = "" Public Overridable Property ProcessFilePath As String = "" End Class
Затем я добавил производный класс:
Public Class MyDerivedClass Inherits MyBaseClass Public Overrides Property ProcessArguments As String Get Return My.Settings.MyProcessArguments End Get Set(value As String) My.Settings.MyProcessArguments = value My.Settings.Save() End Set End Property Public Overrides Property ProcessFilePath As String Get Return My.Settings.MyProcessFilePath End Get Set(value As String) My.Settings.MyProcessFilePath = value My.Settings.Save() End Set End Property End Class
Я ожидал бы, что VB распознает переопределения производного класса, но когда я добавляю производную панель в свою форму, дизайнер инициализирует ее как таковую:
' 'MyDerivedClass1 ' Me.MyDerivedClass1.Location = New System.Drawing.Point(13, 13) Me.MyDerivedClass1.Name = "MyDerivedClass1" Me.MyDerivedClass1.ProcessArguments = "" Me.MyDerivedClass1.ProcessFilePath = "" Me.MyDerivedClass1.Size = New System.Drawing.Size(184, 255) Me.MyDerivedClass1.TabIndex = 2
Разве я не перекрываю все должным образом? Я кодирую уже много лет и часто использую переопределенные свойства и методы. Есть идеи?
Я кодирую с использованием VS Community 2019 версии 16.3.9 и .NET Framework версии 4.8.03752, хотя проект ориентирован на платформу версии 4.7.2.
Заранее благодарю вас за любую помощь!
Что я уже пробовал:
Я пробовал помещать определения базового и производного классов в одни и те же или разные проекты, без какой-либо разницы в результате. Я также попытался украсить производные свойства атрибутом DesignerSerializationVisibilityAttribute, установленным в Hidden (конструктор все еще инициализирует его, как показано выше).
Когда я запускаю программу, я получаю пустую строку, даже если значения My.Settings установлены на соответствующие строковые значения.
Я погуглил каждый набор ключевых слов, которые я могу придумать для этой ситуации, но все, что я нашел, - это примеры переопределений без каких-либо ссылок на то, что они не работают...