Dies ist die Frage aus Sicht der Compiler-Interna.
Ich interessiere mich für Generika, nicht für Vorlagen (C ++), daher habe ich die Frage mit C # markiert. Nicht Java, da AFAIK die Generika in beiden Sprachen in Implementierungen unterscheiden.
Wenn ich mir Sprachen ohne Generika anschaue, ist das ziemlich einfach. Sie können die Klassendefinition validieren, der Hierarchie hinzufügen und fertig.
Aber was tun mit generischer Klasse und was noch wichtiger ist, wie mit Verweisen darauf umzugehen ist? So stellen Sie sicher, dass statische Felder pro Instanziierung singulär sind (dh jedes Mal, wenn generische Parameter aufgelöst werden).
Nehmen wir an, ich sehe einen Anruf:
var x = new Foo<Bar>();
Füge ich Foo_Bar
der Hierarchie eine neue Klasse hinzu?
Update: Bisher habe ich nur 2 relevante Beiträge gefunden, aber auch sie gehen nicht auf viele Details im Sinne von "Wie mache ich das selbst?" Ein: