W kodzie poniżej otrzymuję błąd kompilacjiCzy możesz dziedziczyć sub-nowy (Constructor) z parametrami w VB?
Error Too many arguments to 'Public Sub New()'
na Dim TestChild As ChildClass = New ChildClass("c")
. Nie dostaję go na TestChild.Method1()
, mimo że oba należą do klasy bazowej, z której dziedziczę.
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
mogę zmienić klasę dziecka do:
Public Class ChildClass
Inherits BaseClass
Public Sub New (ByVal SetText As String)
MyBase.New(SetText)
End Class
End Class
Jak sugeruje poniżej, ale nie mam do zrobienia, że dla metody 1 lub innymi dziedzicznymi metod i szukam najczystszy kodu. Może to być ograniczenie w systemie z odziedziczeniem sparametryzowanych Nowych instrukcji, ale nie mogę znaleźć go nigdzie udokumentowanego. Jeśli jest to wymagane, chciałbym zobaczyć dokumentację.
JaredPar, Dzięki za jasną odpowiedź i wskazanie dokumentacji. Lubię mieć źródło, abym mógł zagłębić się w szczegóły, jeśli to możliwe. –
Dobre wyjaśnienie, ale zastanawiam się, dlaczego nie można tego zrobić. Byłoby łatwo na to pozwolić. –
Link do dokumentacji po kliknięciu tworzy teraz stronę z tekstem "Dokumentacja techniczna wycofana z programu Visual Studio 2003". – JohnH