Я знаю, что Java реализует параметрический полиморфизм (Generics) с стиранием. Я понимаю, что такое стирание.
Я знаю, что С# реализует параметрический полиморфизм с reification. Я знаю, что вы можете написать
public void dosomething(List<String> input) {}
public void dosomething(List<Int> input) {}
или что во время выполнения вы можете знать, что такое параметр типа некоторого параметризованного типа, но я не понимаю, что это такое.
- Что такое тип reified?
- Что такое значение reified?
- Что происходит, когда тип/значение подтверждается?