Đây là câu hỏi từ quan điểm nội bộ trình biên dịch.
Tôi quan tâm đến thuốc generic, không phải mẫu (C ++), vì vậy tôi đã đánh dấu câu hỏi bằng C #. Không phải Java, vì AFAIK, thuốc generic trong cả hai ngôn ngữ đều khác nhau về cách triển khai.
Khi tôi nhìn vào các ngôn ngữ không có tính tổng quát, nó khá đơn giản, bạn có thể xác thực định nghĩa lớp, thêm nó vào hệ thống phân cấp và đó là nó.
Nhưng phải làm gì với lớp chung, và quan trọng hơn là làm thế nào để xử lý các tham chiếu đến nó? Làm thế nào để đảm bảo rằng các trường tĩnh là số ít trên mỗi lần xuất hiện (tức là mỗi lần các tham số chung được giải quyết).
Hãy nói rằng tôi thấy một cuộc gọi:
var x = new Foo<Bar>();
Tôi có thêm Foo_Bar
lớp mới vào hệ thống phân cấp không?
Cập nhật: Cho đến nay tôi chỉ tìm thấy 2 bài viết có liên quan, tuy nhiên thậm chí chúng không đi sâu vào chi tiết theo nghĩa "làm thế nào để tự làm":