/*/// <summary> * /// Fügt der Klasse einen neuen Schüler hinzu * /// </summary> * /// <param name="s">Schüler als fertiges Objekt</param> * public void AddSchueler(Schueler s) * { * if(s != null) * { * if (Schueler.Count < 5) * { * Schueler.Add(s); * * //"Prüft" ob es dem Schüler gibt und löscht ihn dann, mit ? wird das klassiche != null überprüft * s.Klasse?.Schueler.Remove(s); * * //vgl. mit Diagramm --> NICHT VERGESSEN!!! --> Referenzen (Rückreferenz null, Schüler ohne Klasse)!!! * s.Klasse = this; * } * * } * * /* * oder: * if(s == null) { return; } //geht auch am Anfang vom Code, beispielsweise 3-4 Fehler prüfen und dann den logischen Code */ //} //Auf boolean setzen für UnitTests public bool AddSchueler(Schueler s) { if (s == null) { return(false); } if (s.Klasse == null && Schule.FindSchuelerById(s.Id) != null) { return(false); } if (Schueler.Count < 5) { Schueler.Add(s); s.Klasse?.Schueler.Remove(s); s.Klasse = this; return(true); } return(false); }
public bool AddSchueler(Schueler s) { if (s == null) { return(false); } if (s.Klasse == null && Schule.FindSchuelerById(s.Id) != null) { return(false); } if (Schueler.Count < 5) { Schueler.Add(s); /* NICHT VERGESSEN, sonst bleibt die Rückreferenz NULL!! */ s.Klasse?.Schueler.Remove(s); s.Klasse = this; return(true); } return(false); }