Exemple #1
0
        //Click-Methoden der Buttons

        //Methode zur zufälligen Erstellung von Fahrzeugen
        private void BtnNew_Click(object sender, EventArgs e)
        {
            switch (generator.Next(1, 4))
            {
            //Erzeugung von Objekten je nach zufälliger Zahl
            case 1:
                FahrzeugListe.Add(new Flugzeug($"Boing", 800, 3600000, 9999));
                break;

            case 2:
                FahrzeugListe.Add(new Schiff($"Titanic", 40, 3500000, Schiff.SchiffsTreibstoff.Dampf));
                break;

            case 3:
                FahrzeugListe.Add(PKW.ErzeugeZufälligenPKW($""));
                break;
            }

            ShowFzs();
        }
Exemple #2
0
        //Methode zum Laden einer 'Fahrzeug'-Datei (vgl. auch SpeichernUndLaden.Form1.BtnLoad_Click())
        private void BtnLoad_Click(object sender, EventArgs e)
        {
            StreamReader reader = null;

            try
            {
                reader = new StreamReader(@"C:\Beispiel\Fahrzeuge.txt");

                //Mittels der TypeNameHandling-Property des JsonSerializerSettings-Objekts kann dem Serialisierer aufgegeben werden, dass er den expliziten Objekt-Type der
                //zu ladenden/speichernden Objekte mit abspeichert
                JsonSerializerSettings settings = new JsonSerializerSettings();
                settings.TypeNameHandling = TypeNameHandling.Objects;

                FahrzeugListe.Clear();

                while (!reader.EndOfStream)
                {
                    //Lesen einer Textzeile aus der Datei
                    //und Umwandlung der Textzeile in ein Fahrzeug (Beachte die Übergabe des Settings-Objekts)
                    //und Hinzufügen des Fahrzeugs zur Liste
                    FahrzeugListe.Add(JsonConvert.DeserializeObject <Fahrzeug>(reader.ReadLine(), settings));
                }

                MessageBox.Show("Speichern erfolgreich");
            }
            catch
            {
                MessageBox.Show("Fail");
            }
            finally
            {
                reader?.Close();
            }

            ShowFzs();
        }