0
當提及在建對象無效是否有這樣做有什麼區別:VB.NET - 調用另一個構造
Public Class Class1
Protected Test1 As String
Public Sub New(ByVal test2 As String)
Test1 = test2
End Sub
End Class
Public Class Class2
Inherits Class1
Public Sub New()
MyBase.New("called from class 2")
End Sub
End Class
這:
Public Class Class1
Protected Test1 As String
End Class
Public Class Class2
Inherits Class1
Public Sub New()
Test1 = "Called from class 2"
End Sub
End Class
在第一個例子,超類實例變量在構造函數中初始化。在第二個例子中,超類實例變量在子類中初始化。
我之所以這樣問是因爲我想從子類做到這一點:
Public Sub New()
MyBase.New( System.Configuration.ConfigurationManager.AppSettings.Item("PurgeFile" & Me.GetType.Name), & _
System.Configuration.ConfigurationManager.AppSettings.Item("PurgeHeader" & Me.GetType.Name))
End Sub
,我得到一個錯誤:「引用到正在建設中的對象調用另一個構造函數時是無效的」。
感謝。有沒有解決的辦法?我的第二個代碼片段也許。 – w0051977 2013-03-27 12:18:21
首先分配給變量... – Paul 2013-03-27 12:20:50
@Westie在調用基類構造函數之前,他無法做到這一點。 w0051977:我認爲沒有解決方法。 – MarcinJuraszek 2013-03-27 12:21:08