C'est la question du point de vue interne du compilateur.
Je m'intéresse aux génériques, pas aux modèles (C ++), j'ai donc marqué la question avec C #. Pas Java, car AFAIK les génériques dans les deux langues diffèrent dans les implémentations.
Quand je regarde les langages sans génériques, c'est assez simple, vous pouvez valider la définition de classe, l'ajouter à la hiérarchie et c'est tout.
Mais que faire de la classe générique, et surtout comment gérer les références à celle-ci? Comment s'assurer que les champs statiques sont singuliers par instanciation (c'est-à-dire à chaque fois que les paramètres génériques sont résolus).
Disons que je vois un appel:
var x = new Foo<Bar>();
Dois-je ajouter une nouvelle Foo_Bar
classe à la hiérarchie?
Mise à jour: Jusqu'à présent, je n'ai trouvé que 2 messages pertinents, mais même ils n'entrent pas dans les détails dans le sens "comment le faire par vous-même":