В коде ниже я получаю ошибку компиляцииМожете ли вы наследовать новый (конструктор) с параметрами в VB?
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, но я не могу найти его документально нигде. Если это требуется, я хотел бы видеть документацию.
JaredPar, Спасибо за четкий ответ и указав на документацию. Мне нравится иметь источник, чтобы я мог погрузиться в детали, когда это возможно. –
Хорошее объяснение, но мне интересно, почему это невозможно. Это было бы легко разрешить. –
Ссылка на документацию при нажатии теперь производит страницу с текстом «Visual Studio 2003 Retired Technical documentation». – JohnH