public override Element Operateur (Operateurs operateur, Element droite) { if (droite.GetType () != this.GetType ()) { return base.Operateur (operateur, droite); } else if (this.name != ((Inconnue)droite).name) { if (((Inconnue)droite).name == "0") { switch (operateur) { case Operateurs.Addition: return this; case Operateurs.Multiplication: return droite; default: return base.Operateur (operateur, droite); } } else { return base.Operateur (operateur, droite); } } else { switch (operateur) { case Operateurs.Addition: return new Multiplication ((R)2, this); default: return base.Operateur (operateur, droite); } } }
public override Element Operateur (Operateurs operateur, Element droite) { if (droite.GetType () != this.GetType ()) { return null; } else { switch (operateur) { case Operateurs.Addition: return this + (R) droite; case Operateurs.Multiplication: return this * (R) droite; default: Console.WriteLine ("Operator not handled"); return null; } } }