In an application where performance is crucial, would there be any noticeable advantage of Scenario 1 (completely separate constructors) vs. Scenario 2 (chain-calling constructors)?
Scenario 1
Class TwoInts
Private a, b As Integer
Public Sub New(ByVal a As Integer, ByVal b As Integer)
Me.a = a
Me.b = b
End Sub
Public Sub New(ByVal a As Integer)
Me.a = a
Me.b = 0
End Sub
Public Sub New()
Me.a = 0
Me.b = 0
End Sub
End Class
Scenario 2
Class TwoInts
Private a, b As Integer
Public Sub New(ByVal a As Integer, ByVal b As Integer)
Me.a = a
Me.b = b
End Sub
Public Sub New(ByVal a As Integer)
Me.New(a, 0)
End Sub
Public Sub New()
Me.New(0)
End Sub
End Class