Hallo Alejandro,
Jede Serialisierungsklasse benötigt einen Konstruktor ohne Parameter, da beim Deserialisieren eine neue leere Instanz erstellt wird und anschließend alle öffentlichen Eigenschaften kopiert werden, die aus den serialisierten Daten übernommen wurden, wie hier beschrieben:
C# serialize a class without a parameterless constructor
Du kannst versuchen, Type.MakeGenericType(Type[]) Methode aufzurufen, die die Typparameter der aktuellen generischen Typdefinition durch die Elemente eines Arrays von Typen ersetzt und ein Type-Objekt zurückgibt, das den resultierenden konstruierten Typ darstellt. Weitere Informationen bietet dieser Link:
C# Cannot create an instance because Type.ContainsGenericParameters is true
Gruß,
Ivan Dragov