Generics mit ValueTypes - welches Constraint?
-
Hallo,
was muss ich dem Typ T alles abverlangen, damit ich die Standard-Valuetypes int und long benutzen kann, inkl. der Rechenoperatoren?
Also class Point<T> where T: ....
-
where T: struct - The type argument must be a value type.
-
Weißt du auch, wie man es ermöglicht, dass man dann die üblichen Rechenoperatoren anwenden kann? Ich kann ja ein int schlecht zwingen, mein Interface zu implementieren. Ich kann mir nicht vorstellen, dass ein simples T : struct dafür reicht (hab jetzt grad keine Möglichkeit, das zu testen).
-
Jep, hast Recht.
Schau mal, ob das hier hilft.
-
Hmmm interessanter Artikel, aber ich glaube, den Aufwand werd ich mir nicht antun. Ich hätte ein Point<int> und ein Point<long> gebraucht, jetzt nehm ich halt beide male long.
In Zukunft wird das mit den 64Bit - Prozessoren eh keine Rolle mehr spielen...
Danke für die Mühe.
Wäre schön Microsoft da noch was macht, z.B. bzgl. des Vorschlags über IArithmetic<T>...