Из Type переменной в T параметр генерации - C#

Узнай цену своей работы

Формулировка задачи:

Assembly.GetExecutingAssembly().GetTypes().ToList().ForEach(o => {
    Singleton<TYPE>.Setup(Assembly.GetExecutingAssembly().CreateInstance($"{o.Namespace}.{o.Name}"));
});
Вот ток беда, я не знаю как из

o

извлечь, а точнее конвертировать в TYPE. Точнее в T который помечен в примере как

TYPE

Задача: динамически пройтись по всем объектам и объявить из в Singleton.
А сори, не там разместил =( Если можно - модеры, перенесите пожалуйста в C# для начинающих. Я случайно перепутал разделы) А если кто знает ответ - буду примного благодарен)

Решение задачи: «Из Type переменной в T параметр генерации»

textual
Листинг программы
Type singletonType = typeof(Singleton<>);
 
Type[] assemblyTypes = Assembly.GetExecutingAssembly().GetTypes();
 
foreach (Type asmType in assemblyTypes)
{
    Type closedType = singletonType.MakeGenericType(asmType);
    MethodInfo setupMethod = closedType.GetMethod("Setup", BindingFlags.Public | BindingFlags.Static);
    
    object typeInstance = Activator.CreateInstance(asmType, true);
    
    setupMethod.Invoke(null, new object[] { typeInstance });
}

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы