В приведенном ниже коде я получаю ошибку компиляции
Error Too many arguments to 'Public Sub New()'
на Dim TestChild As ChildClass = New ChildClass("c")
. Я не получаю его на TestChild.Method1()
, хотя они оба находятся в базовом классе, на который я наследую.
Public Class BaseClass
Public ReadOnly Text As String
Public Sub New(ByVal SetText As String)
Text = SetText
End Sub
Public Sub New()
Text = ""
End Sub
End Class
Public Class ChildClass
Inherits BaseClass
End Class
Public Class TestClass
Sub Test()
Dim TestChild As ChildClass = New ChildClass("c")
TestChild.Method1()
End Sub
End Class
Я могу изменить дочерний класс на:
Public Class ChildClass
Inherits BaseClass
Public Sub New (ByVal SetText As String)
MyBase.New(SetText)
End Class
End Class
Как предлагается ниже, но мне не нужно делать это для метода 1 или других унаследованных методов, и я ищу самый чистый код. Это может быть ограничение в системе с наследованием параметризованных операторов New, но я не могу найти его документально нигде. Если это необходимо, я хотел бы видеть документацию.