Я пытаюсь использовать отражение C # для извлечения всех типов из сборки (скажем, из «ExecutingAssembly»), я могу получить все явно определенные типы, включая определяемые мной универсальные типыв сборе. Но я не могу извлечь неявно экземпляров универсальных типов (конкретная версия).
Например, var types = Assembly.GetExecutingAssembly().GetTypes();
это будет извлекать все явно определенные типы (классы, структуры, которые определены в этой сборке, включая общие, такие как class MyGenericClass<T>
).
Однако в той же сборке я фактически использую MyGenericClass<int>
в качестве конкретный введите мой код для создания экземпляров объектов (таких как: MyGenericClass<int> myObject;
), но этот тип конкретный MyGenericClass<int>
, кажется, не может быть полученприведенный выше код.
Мне интересно, могут ли какие-либо экземпляры сгенерированных экземпляров быть фактически извлеченными из сборки, поэтому я могу использовать этот тип для выполнения некоторых работ по генерации кода позже.
Если они не могут быть извлечены, есть предложения по дизайну?
Заранее спасибо!