Autor Beitrag
tomo2403
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 46

Win10
C#, VS 2019
BeitragVerfasst: Mi 19.06.19 16:44 
Hallo,

ich habe mir eine Klasse zum schreiben und lesen von eigenen Dateien geschrieben.

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
using System.Windows.Forms.DataVisualization.Charting;

namespace Palaver_ClubSystem
{
    [Serializable]
    public class LoadSaveStatics
    {
        public Chart SoldProductsChart { get; set; }

        public void Save(string path)
        {
            FileStream FS = new FileStream(path, FileMode.Create);
            BinaryFormatter BF = new BinaryFormatter();


            BF.Serialize(FS, this);
            FS.Dispose();

        }

        public LoadSaveStatics Load(string path)
        {
            LoadSaveStatics LSS = new LoadSaveStatics();

            FileStream FS = new FileStream(path, FileMode.Open);
            BinaryFormatter BF = new BinaryFormatter();

            LSS = (LoadSaveStatics)BF.Deserialize(FS);

            return LSS;
        }
    }
}

//SPEICHERN
//LoadSaveStatics save = new LoadSaveStatics
//{
//    SoldProductsChart = chart1
//};
//save.Save(staticsFile + fileDataDate + staticsFileFormat);

//LADEN
//LoadSaveStatics load = new LoadSaveStatics();
//load = load.Load(staticsFile + fileDataDate + staticsFileFormat);
//chart1 = load.SoldProductsChart;

//readonly string staticsFileFormat = ".palaver_static";
//readonly string staticsFile = "C:\\Palaver-ClubSystem\\Data\\Statics\\";

Allersdings kann ich keine Diagramme speichern. Es kommt:
ausblenden Quelltext
1:
System.Runtime.Serialization.SerializationException: "Der Typ "System.Windows.Forms.DataVisualization.Charting.Chart" in Assembly "System.Windows.Forms.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" ist nicht als serialisierbar gekennzeichnet."					

Kann mir bitte jemand sagen was ich falsch mache?
Danke im Voraus!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4230
Erhaltene Danke: 891

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: Mi 19.06.19 16:55 
Wie die Fehlermeldung aussagt, fehlt der Chart-Klasse das SerializationAttribute und kann daher nicht mit dem BinaryFormatter serialisiert werden.

Du solltest generell keine Steuerelemente (Controls) serialisieren, sondern nur die reinen Daten.