Mögliches Duplikat:
Definieren Sie eine Generik, die den Operator + implementiert
Ich arbeite gerade an einer C#-Klassenbibliothek zur Implementierung eines Algorithmus. Der Punkt ist, dass ich möchte, dass die Benutzer der Bibliothek in der Lage sein, die Maschine Präzision (einfach oder doppelt) der Algorithmus sollte mit zu wählen, und ich versuche, es mit Generika zu tun. Also, zum Beispiel:
Algorithm<double> a = new Algorithm<double>();
/** Some initializations here */
double result = a.Solve();
o
Algorithm<float> a = new Algorithm<float>();
/** Some initializations here */
float result = a.Solve();
So soll der Typ-Parameter für die generischen Klassen eine Dezimalzahl sein (weil ich im Algorithmus-Code +, *, /, - verwenden muss), aber ich weiß nicht, welche Art von Typ-Beschränkung ich ihm auferlegen soll. Ich habe darüber nachgedacht, eine Schnittstelle mit allen Operatoren zu bauen, aber das ist leider nicht erlaubt. Hat jemand eine Idee?
Ist es andernfalls möglich, in C# etwas Ähnliches zu erhalten wie Schablonen-Spezialisierung in C++?
Dankeschön
Tommaso