La mise en œuvre de l'arithmétique dans les génériques?

Est-il possible de mettre en œuvre l'arithmétique de base (au moins) en C# génériques, comme vous pouvez avec les modèles C++ ? J'ai essayé pendant un certain temps pour obtenir en place et fonctionne, mais le C# ne permet pas de déclarer le même type générique à plusieurs reprises, comme vous pouvez à l'aide de modèles.

Vaste recherche sur google n'a pas fourni une réponse.

EDIT: Merci, mais ce que je cherche est un moyen de faire de l'arithmétique au moment de la compilation, l'intégration de quelque chose comme l'Église des chiffres dans les génériques types. C'est pourquoi j'ai fait un lien de l'article que j'ai fait. L'arithmétique dans types génériques, pas de l'arithmétique sur les instances de types génériques.

Malheureusement, le type de contrainte ne vous autorise pas à exiger que le type prend en charge arithmethic opérateurs. Ce que je trouve intéressant, c'est que dans la BCL code source, par exemple Int32, vous trouverez une IArithmetic<Int32> interface dans la liste d'héritage qui est commenté. Ce n'est que pure spéculation de ma part mais si Microsoft a permis d'interface dans la BCL, alors vous pourriez peut-être préciser IArithmetic<T> comme une contrainte pour vous permettre d'écrire vos propres classes génériques à l'arithmétique.
Lien à la même question: stackoverflow.com/q/4039694/613130

OriginalL'auteur Thom Smith | 2012-06-08