SerializationException ausgelöst, Ursache unklar



  • Hallo,

    ich habe folgenden Quellcode:

    FileStream fstream = new FileStream(saveFileDialog1.FileName, FileMode.Create);
    BinaryFormatter binformat = new BinaryFormatter();
    
    foreach (ValuePoint vPoint in this.listBox1.Items)
    {
         binformat.Serialize(fstream,vPoint); //Exception
    }
    
    fstream.Close();
    

    Die ausgelöste Exception ist Folgende:

    Der Typ "System.Runtime.Serialization.Formatters.Binary.BinaryFormatter" in Assembly "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" ist nicht als serialisierbar gekennzeichnet.

    Was ich jetzt an sich nicht verstehe, ist warum hier steht System.Runtime.Serialization.Formatters.Binary.BinaryFormatter [...] ist nicht als serialisierbar gekennzeichnet. Das würde ja bedeuten, dass ich versuche die BinaryFormatter Klasse zu serialisieren, oder?
    Ach ja, warum überhaupt eine Exception geworfen wird ist mir auch nicht klar.

    Die Klasse ist mit dem [Serializable()]-Attribut ausgestattet.

    .NET Framework 3.5 SP1
    Visual C# 2008 Express Edition SP1



  • Die Klasse ValuePoint enthält min. ein Objekt, das nicht serialisierbar ist oder definiert keinen öffentlichen Konstruktor ohne Parameter.



  • Oh ich seh schon:
    Ich hatte , um mir die Arbeit mit der Serialisierung etwas einfacher zu machen, eine Methode zur Serialisierung innerhalb der Klasse definiert und zugleich eine BinaryFormatter Instanz als Klassenmember angegeben. Diese ist natürlich nicht serialisierbar, so wie die Exception es beschreibt, eigentlich logisch aber nur dann wenn man an der richtigen Stelle sucht.

    Vielen Dank für die Hilfe O.o!


Anmelden zum Antworten