Hi,
Hier habe ich eine Property Nachname ... verwaltet wird der Inhalt über die Private Variable myNachname ... und somit ist die Sache gekapselt. Das verstehe ich soweit ...
Nun versuche ich das mit einer List(of String)
Zunächst mal frage ich mich, warum es jetzt "NameList As List(Of String)" und nicht "NameList() As List(Of String)" heißen muss ... Wieso braucht es denn jetzt die leeren Klammern () nicht mehr? Irgendwie ist das eine andere Syntax ...
Und dann kann ich die Routinen für "Get" und "Set" nicht mehr anfügen ...
Das Keyword "New" wird bemängelt: "Erweiterte Eigenschaften können nicht initialisiert werden."
Warum ist das so ? Gilt das generell für nicht primitive Datentypen?
Ich möchte nun auf die Elemente der List of String lesend und schreibend von außen zugreifen. Das hab ich mal wie folgt versucht:
Damit handle ich mir schon beim Lesen über "Return myNameList(Index)" eine NullReferenceException ein .
Bei einem einfachen String klappt das aber.
Was ist denn da jetzt so grundlegend anders?
Mit diesem Coding klappt das dann auch mit der List(of String)
Aber warum ? Wieso kann ich hier den Property Namen statt eines Variablen Namen verwenden? Und wozu brauche ich dann noch die Variable " Private myNameList As List(Of String)"
Irgendwie fehlt mir da etwas Grundlegendes beim Verständnis der Properties. Ich denke mal, das muss damit zusammenhängen, dass primitive Datentypen keine explizite Instanzierung benötigen, während die ReferenzDatentypen das Zauberwörtchen "New" benötigen. Aber das ist halt nur so eine Ahnung ...
Hat jemand genügend Geduld mir das (nachsichtig) zu erkären?
LG
Peter
Hier habe ich eine Property Nachname ... verwaltet wird der Inhalt über die Private Variable myNachname ... und somit ist die Sache gekapselt. Das verstehe ich soweit ...
Nun versuche ich das mit einer List(of String)
Zunächst mal frage ich mich, warum es jetzt "NameList As List(Of String)" und nicht "NameList() As List(Of String)" heißen muss ... Wieso braucht es denn jetzt die leeren Klammern () nicht mehr? Irgendwie ist das eine andere Syntax ...
Und dann kann ich die Routinen für "Get" und "Set" nicht mehr anfügen ...
Das Keyword "New" wird bemängelt: "Erweiterte Eigenschaften können nicht initialisiert werden."
Warum ist das so ? Gilt das generell für nicht primitive Datentypen?
Ich möchte nun auf die Elemente der List of String lesend und schreibend von außen zugreifen. Das hab ich mal wie folgt versucht:
Damit handle ich mir schon beim Lesen über "Return myNameList(Index)" eine NullReferenceException ein .
Bei einem einfachen String klappt das aber.
Was ist denn da jetzt so grundlegend anders?
Mit diesem Coding klappt das dann auch mit der List(of String)
Aber warum ? Wieso kann ich hier den Property Namen statt eines Variablen Namen verwenden? Und wozu brauche ich dann noch die Variable " Private myNameList As List(Of String)"
Irgendwie fehlt mir da etwas Grundlegendes beim Verständnis der Properties. Ich denke mal, das muss damit zusammenhängen, dass primitive Datentypen keine explizite Instanzierung benötigen, während die ReferenzDatentypen das Zauberwörtchen "New" benötigen. Aber das ist halt nur so eine Ahnung ...
Hat jemand genügend Geduld mir das (nachsichtig) zu erkären?
LG
Peter
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Peter329“ ()