【发布时间】:2009-04-25 22:11:06
【问题描述】:
在下面的代码中我收到编译错误
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 语句的限制,但我无法在任何地方找到它的文档。如果需要,那么我想查看文档。
【问题讨论】:
标签: vb.net inheritance constructor new-operator