3.4 Die Operatoren +=, -=, /= und *= indirekt überladen
Problem
Sie müssen steuern, wie die Operatoren +=
, -=
, /=
und *=
in Ihrem Datentyp gehandhabt werden, aber leider können diese Operatoren nicht direkt überladen werden.
Lösung
Überladen Sie diese Operatoren indirekt, indem Sie die Operatoren +
, −
, /
und *
überladen, wie es Beispiel 3-5 zeigt.
Beispiel 3-5. Die Operatoren +, -, / und * überladen
public class Foo { // Andere Klassen-Member... // Überladene binäre Operatoren public static Foo operator +(Foo f1, Foo f2) { Foo result = new Foo( ); // Hier f1 und f2 addieren... // das Ergebnis der Addition in der Ergebnisvariable festhalten. return (result); } public static Foo operator +(int constant, Foo f1) { Foo result = new Foo( ); // Hier die ...
Get C# Kochbuch now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.