Hallo und einen schönen guten Tag an alle.
Ich stehe vor einem kleinem Problem und finde nicht die Lösung/den Fehler.
Zur Aufgabenstellung:
Ich habe eine CSV-Datei die ich in eine Variable/Objekt/Array packe.
$Inhalt = Import-csv -path $Ort -Delimiter ";" - Encoding UTF 8
Ausserdem habe ich eine Klasse erstellt, die sich User nennt und mit Personalnummer, Vorname, Nachname etc. bestückt ist.
class User {
[int]$Personalnummer
[string]$Vorname
[string]$Nachname
[int]$Kostenstelle
[string]$Abteilung
}
Jetzt möchte ich gerne ein Array/Objekt/Liste vom Typ User haben.
Habe ich so gelöst :
$Userliste = New-Object System.Collections.Generic.List[user]
Und nun füge ich an einer anderen Stelle in einer Funktion die auf die globale $Userliste zugreift mit
$Userliste.Add($Userobjekt)
$Userobjekt hinzu, wobei diese vom Typ User sind.
Deklariert habe ich das so
$Userobjekt = New-Object -TypeName User
Das bescheuerte an der Sache ist, ich sehe dass das $userobjekt mit den richtigen werten hinzugefügt wird und die Liste
wird auch länger, aber die Liste "aktualisiert" sich immer mit dem letzten Userobjekt....also es steht dann n-Mal immer
das Letzte Objekt drin und natürlich n mal nur der eine User.
Ich würde ja sagen, da wird irgendwie nur ein Zeiger in die Liste gesetzt und der steht immer auf dem Inhalt des zu Letzt hinzugefügtem Objekt.
Aber warum ist das so...wieso steht an jeder Stelle der $Userliste scheinbar das "selbe" Objekt.
Vielleicht hat ja jemand nen Tipp vielen Dank und so long der Velmor