Допустим, у вас есть Type t
универсального класса, который имеет конструктор без параметров, и массив типов для использования в качестве параметров типа универсального класса:
Type t = someType;
Type[] genericTypeParameters = someArrayOfTypeParameters;
Звоните Type.MakeGenericType()
, что
Подставляет элементы массива типов для параметров типа
текущего определения универсального типа и возвращает объект типа
представляющий результирующий ... тип
Затем создайте объект как обычно:
t = t.MakeGenericType(genericTypeParameters);
object instance = Activator.CreateInstance(t);