Учитывая универсальный тип с ограничениями:
class MyClass<T> where T: Alpha
{
}
и реализации этого ограничения:
class Alpha {}
class Bravo : Alpha {}
class Charlie : Alpha {}
Как можно получить универсальные типы для всех комбинаций во время выполнения?
// I want these types at run-time
MyClass<Alpha>
MyClass<Bravo>
MyClass<Charlie>
РЕДАКТИРОВАТЬ: Основываясь на ответе @ rich.okelly, я думаю, что реальный вопрос заключается в следующем:
Как мне найти все типы, которые реализуют ограничение моего универсального типаво время выполнения?
Так что, если мне дадут typeof(MyClass<>)
, я получу типы выше.