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.