C#: Konfiguration as Serialisiertes Objekt in einer Datei speichern

Bezugnehmend uuf den Kommentar im Post C#: Konfiguration als XML-Datei speichern , möchte ich nun auch zeigen, wie man eine Konfiguration alternativ als Serialisiertes Objekt in eine Datei speichern kann.

Die Konfiguration hat wieder die 3 eigenschaften „Server“,“Benutzer“ und „Passwort“ um einen Login auf einem FTP-Server zu ermöglichen.

Folgende Klasse soll nun unser Konfigurations-Objekt darstellen:

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
namespace test
{
    [Serializable] 
    class config
    {
        public string server;
        public string benutzer;
        public string passwort;
 
        public config()
        {
            if (server == null)     server = "localhost";
            if (benutzer == null)   benutzer = "usr_3377";
            if (passwort == null)   passwort = "PwD$5$67";
        }
 
        public config load()
        {
            config Konfiguration;
            FileStream fs = new FileStream("config.dat", FileMode.Open);
            BinaryFormatter formatter = new BinaryFormatter();
            Konfiguration = (config)formatter.Deserialize(fs);
            fs.Close();
 
            return Konfiguration;
        }
 
        public void save()
        {
            FileStream fs = new FileStream("config.dat", FileMode.Create);
            BinaryFormatter formatter = new BinaryFormatter();
            formatter.Serialize(fs, this);
            fs.Close();
        }
 
    }
}

Und hier, passend dazu der klick in einem button, welcher das konfigurations-objekt mit standard-werten laden kann, aus einer Datei laden kann und in eine Datei schreiben kann.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
        private void button1_Click(object sender, EventArgs e)
        {
            //Konfiguration mit Standard-Werten laden
            config Konfiguration = new config();
 
            // Konfiguration aus Datei laden
            config Konfiguration = new config();
            Konfiguration = Konfiguration.load();
 
            // Konfiguration anzeigen
            Console.WriteLine("Server:" + Konfiguration.server);
            Console.WriteLine("Benutzer:" + Konfiguration.benutzer);
            Console.WriteLine("Passwort:" + Konfiguration.passwort);
 
            // Konfiguration ändern und Anspeichern
            Konfiguration.server = "neuerserver.de";
            Konfiguration.benutzer = "neuerbenutzer";
            Konfiguration.passwort = "N€u€$Pa$$w0rD";
            Konfiguration.save();
        }

leave your comment

*

Unterstütze den Frickelblog!