Например, я хочу проверять типы во время компиляции. Например, функция может принимать только int или string. В интерфейсами придётся делать проверку во время исполнения, а не компиляции.
Интерфейсы покрывают не все приложения дженериков и наоборот Есть множество проблем, которые решают оба этих подхода (например, гетерогенные коллекции)
Обсуждают сегодня