public void Einparken(Fahrzeug fahrzeug) { if (fahrzeugListe != null) { fahrzeugListe.Add(fahrzeug); } }
//Als Alternative zum IClonable-Interface kann auch ein Kopierkonstruktor geschrieben werden public Fahrzeug(Fahrzeug fz) { this.Name = fz.Name; this.Preis = fz.Preis; this.MaxGeschwindigkeit = fz.MaxGeschwindigkeit; this.AktGeschwindigkeit = fz.AktGeschwindigkeit; this.MotorLäuft = fz.MotorLäuft; }
public void Entlade() { if (this.Ladung != null) { Console.WriteLine($"Entladevorgang von '{this.Ladung.Name}' erfolgreich."); this.Ladung = null; } else { Console.WriteLine($"'{this.Name} hat keine Ladung geladen."); } }
public void Belade(Fahrzeug fz) { if (this.Ladung == null) { this.Ladung = fz; Console.WriteLine($"Ladevorgang von '{fz.Name}' auf '{this.Name}' erfolgreich."); } else { Console.WriteLine($"Ladeplatz auf '{this.Name}' bereits durch '{this.Ladung.Name}' belegt."); } }
public void Belade(Fahrzeug fz) { if (this.Ladung is Fahrzeug) { Console.WriteLine($"Ladeplatz von {this.Name} schon von {this.Ladung.Name} belegt"); } else { this.Ladung = fz; Console.WriteLine($"{this.Ladung.Name} wurde auf {this.Name} geladen."); } }
public void Entlade() { if (this.Ladung != null) { Console.WriteLine($"{this.Ladung.Name} wurde von {this.Name} entladen."); this.Ladung = null; } else { Console.WriteLine($"{this.Name} hat keine Ladung, die entladen werden könnte."); } }
public void Belade(Fahrzeug fz1) { if (this.Ladung == null) { this.Ladung = fz1; Console.WriteLine($"{this.Ladung.Name} wurde auf {this.Name} geladen."); } else { Console.WriteLine($"{this.Name} hat bereits {this.Ladung.Name} geladen."); } }
public Fahrzeug Entlade() { if (this.Ladung != null) { Fahrzeug fz = this.Ladung; this.Ladung = null; Console.WriteLine($"Entladevorgang von '{fz.Name}' erfolgreich."); return(fz); } else { Console.WriteLine($"'{this.Name} hat keine Ladung geladen."); } return(null); }
public void Belade(Fahrzeug fz) { if (this.Equals(fz)) { Console.WriteLine("Das Fahrzeug kann sich nicht selber transportieren."); } else if (this.Ladung == null) { this.Ladung = fz; Console.WriteLine($"Ladevorgang von '{fz.Name}' auf '{this.Name}' erfolgreich."); } else { Console.WriteLine($"Ladeplatz auf '{this.Name}' bereits durch '{this.Ladung.Name}' belegt."); } }
//Methode zum Laden einer 'Fahrzeug'-Datei und Rückgabe der Fahrezuge an den Aufrufer (vgl. auch SpeichernUndLaden.LadeString()) public static List <Fahrzeug> LadeFz(string path = "gespeicherteFahrzeuge.fz") { StreamReader reader = null; //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 setting = new JsonSerializerSettings(); setting.TypeNameHandling = TypeNameHandling.Objects; //Liste, in welche die geladenen Fahrzeuge geschrieben werden List <Fahrzeug> geladeneFahrzeuge = new List <Fahrzeug>(); try { reader = new StreamReader(path); while (!reader.EndOfStream) { //Auslesen einer Zeile der Datei string aktuellesFahrzeugAlsString = reader.ReadLine(); //Umwandlung der Textzeile in ein Fahrzeug (Beachte die Übergabe des Settings-Objekts) Fahrzeug aktuellesGeladenesFahrzeug = JsonConvert.DeserializeObject <Fahrzeug>(aktuellesFahrzeugAlsString, setting); //Hinzufügen des Fahrzeugs zur Liste geladeneFahrzeuge.Add(aktuellesGeladenesFahrzeug); } Console.WriteLine("Fahrzeuge erfolgreich geladen"); } catch { Console.WriteLine("Laden fehlgeschlagen"); } finally { if (reader != null) { reader.Close(); } } //Rückgabe der Liste an den Aufrufer return(geladeneFahrzeuge); }