这是个坏主意吗?在公共构造函数中调用泛型私有构造函数是否会创建多个实例,或者这是初始化类变量的有效方法吗?
Private Class MyClass
Dim _msg As String
Sub New(ByVal name As String)
Me.New()
'Do stuff
End Sub
Sub New(ByVal name As String, ByVal age As Integer)
Me.New()
'Do stuff
End Sub
Private Sub New() 'Initializer constructor
Me._msg = "Hello StackOverflow"
'Initialize other variables
End Sub
End Class
答案 0 :(得分:4)
这完全有效,是重用构造函数代码的常用方法。只实例化一个对象。
答案 1 :(得分:2)
这是一种有效的方法。有一些警告可以调用新函数:
Sub New构造函数只能在创建类时运行一次。它 不能在第一行以外的任何地方显式调用 来自同一个类或来自a的另一个构造函数的代码 衍生类。
详细了解MSDN上的object lifetime。
答案 2 :(得分:1)
这样的链接构造函数肯定不会创建其他对象实例。
希望仅为初始化的某一部分编写代码一次。这是一种常见且有效的初始化模式。