Étant donné que vous avez seulement deux types ici, je descendrais une route OO ici au lieu et juste deux classes pour les deux types.
Les génériques sont mieux utilisés lorsque les circonstances dans lesquelles ils peuvent être appliqués sont, vous le savez, générique. Ils sont beaucoup moins utilisés dans des circonstances comme celle-ci.
Vous pouvez limiter les types struct ou classe seulement, et je pense qu'il ya besoin d'avoir des restrictions sur la base numérique ou opérateur (par exemple, doivent prendre en charge + =)
Int et la chaîne sont vraiment tout à fait différent, certainement plus différent que int et double.Il ne serait pas logique qu'une classe générique prenne en charge le type de chaîne de référence immuable et le type de valeur de int sans prendre en charge d'autres types plus proches de l'un ou de l'autre.
Quelque chose me dit que vous faites cela parce que vous ne l'avez pas rendu compte qu'un casting implicite serait mieux ... – Will