Hallo,
ich bin gerade dabei und stehe irgendwie auf derLeitung :s
Wenn ich eine Klasse habe, mit folgenden Inhalt
Public Class Class1
Private Shared tabell(1, 1) As String
Public Shared myvar As Integer
Shared Sub New()
tabell(0, 0) = "I" : tabell(0, 1) = "1"
tabell(1, 0) = "V" : tabell(1, 1) = "5"
End Sub
Sub New(ByVal var As Integer)
myvar = var
End Sub
Sub New(ByVal var As String)
myvar = 0
End Sub
Public Function getTabelle(ByVal index As Integer) As String
Return tabell(index, 0)
End Function
End Class
und nun aus der Form heraus folgendenden Source ausführe
Dim loc As New Class1(1)
Dim loc1 As New Class1("1")
sehe ich es richtig, das erst die Klasse initialisiert wird. Dabei wird die Shared Sub New aufgerufen und dort die tabell gefuellt.
Danach springt er in die sub Sub New ((ByVal var As Integer) und führt dort den Source aus. Die Daten in tabell bleiben erhalten.
Danach springt er zum Progg zurueck und bei der naechsten Initialisierung der Klasse , springt er dann gleich zur Sub New (ByVal var As String) und führt dort den source aus. Die Sub Shared Sub New wird nicht ausgefuehrt da sie schon einmal aufgerufen wurde!
Sehe ich das richtig?
Wenn nein, wo liegt denn mein Denkfehler?
Wenn ja, warum sehe ich beim debuggen nicht die einmalige Auführung der shared sub New ?
Wenn ich eine Klasse entlade ( noch weiss ich nicht wie :s) und ich initialisiere sie dann neu. Wird dann die shared Sub New erneut aufgerufen ?
MfG Alex