//Implementierung von IComparable um Brüche vergleichbar zu machen und somit Sortierbar public int CompareTo(Object obj) { if (obj == null) { return(1); } //Gibt die Möglichkeit sämtliche Member der Bruch klasse auf den neuen Bezeichner anzuwenden //War das Objekt zuvor kein Bruch, lässt sich hiernach keine der ursprünglichen Member //über den neuen Bezeichner aufrufen! Bruch anderesObjekt = obj as Bruch; if (anderesObjekt != null) { return(this.Dezimal.CompareTo(anderesObjekt.Dezimal)); } else { throw new ArgumentException("Übergebenes Objekt ist nicht vom Typen 'Bruch' "); } }
//Methode zur Division des Bruchobjekts mit einem Bruchobjekt als Parameter //Dabei wird die reguläre Multiplikation aufgerufen und als Argument die //Reziproke-Eigenschaft des Parameters (ein neuer umgekehrter Bruch basierend //auf dem des Parameters) übergeben. public Bruch Div(Bruch obj) { return(Mul(obj.Reziproke)); }