Zugriff auf eingene Objekte in ArrayList



  • Hy,...
    ich schriebe gerade an einer WindowsFormsAnwendung.
    In dieser habe ich eine eigene Klasse Auto erstellt. Darin gibt es momentan nur 2 int Variablen x und y. Später sollen noch mehrere Variblen dazu kommen, vllt auch andere Typen. In der form1 kann ich das Objekt auch erstellen und auf beide Werte zugreifen:

    Auto ^car = gcnew Auto(10,20); //Konstruktor dafür angelegt.

    Jetzt möchte ich eig dieses Objekt in eine ArrayList einfügen:

    ArrayList ^al = gcnew Arraylist();
    al->Insert(0,car);

    Es sollte doch jetzt auf al[0] das objekt car liegen mit seinen 2 variablen x=10, y=20.
    Jedoch finde ich keine Möglichkeit korrekt auf die Elemente zuzugreifen. Ich hoffe mir kann jemand bei diesem Problem helfen.
    Vielen Dank;)
    LG...



  • In der ArrayList sind alle Elemente sozusagen als Object gespeichert. Du möchtest jedoch Auto s haben, dafür gibt es zwei Möglichkeiten:

    • Konvertieren von Object^ nach Auto^: ((Auto^)al[0])-> ...
    • Generische Klassen nehmen: List<Auto>


  • Vielen Dank für deine Hilfe 😉
    genau das was ich brauchte. Das konvertieren ist die Lösung. Endlich das Problem überwunden an dem ich leider schon seit Stunden hänge. Danke nochmals 😉
    Ciao
    LG



  • FellowTom schrieb:

    Das konvertieren ist die Lösung.

    nein - Generics ist sauberer ... Deine ArrayListe kann alle möglichen Typen speichern ... wenn Du es aber dann castest, kann es knallen


Anmelden zum Antworten