ArrayList de- / serialisieren



  • Hallo Leute, ich habe folgendes Problem:
    Ich möchte eine ArrayList serialisieren, was an sich schon mal ein Problem darstellt. Jetzt hab ich gelesen, dass man sie einfach mit .toArray() in einen Object Array casten soll und diesen Array dann serialisieren.
    Das klappt auch soweit, nur sobald ich das ganze dann wieder deserialisieren will, kann ich "formatter->Deserialize(stream)" irgendwie in keiner Weise zurück in eine ArrayList konvertieren.
    Vielleicht hat einer von euch ja eine Lösung parat.

    Vielen Dank schonmal

    PS: Kann es sein, dass ich in c++ keinen Object Array manuell erzeugen kann (zumindest nicht im managed code)?



  • Zeige mal deinen Code.
    Simon



  • projekte ist die Arraylist

    Serialisieren

    System::Runtime::Serialization::IFormatter^ formatter = gcnew System::Runtime::Serialization::Formatters::Binary::BinaryFormatter();
    Stream^ stream;
    
    stream = gcnew FileStream("test.txt", FileMode::Create, 
    FileAccess::Write, FileShare::None);
    formatter->Serialize(stream, projekte->ToArray());
    stream->Close();
    

    DeSerialisieren

    Stream^ stream;
    System::Runtime::Serialization::IFormatter^ formatter = gcnew System::Runtime::Serialization::Formatters::Binary::BinaryFormatter();
    stream = gcnew FileStream("test.txt", FileMode::Open, FileAccess::Read, FileShare::None);
    
    // aber hier habe ich schon alles möglich ausprobiert
    //projekte = formatter->Deserialize(stream);
    //projekte = (ArrayList^) formatter->Deserialize(stream);
    


  • Du serialisierst ja auch ein Array und keine ArrayList.
    Caste mal zum entsprechenden Array.
    Simon



  • hat sich erledigt DANKE


Anmelden zum Antworten