10
votes

C # Impossible de créer une instance car type.ContainsGenericharamètres est vrai

Je tente de désérialiser un générique où T: struct mais quand j'appelle cors.invoke (args); i Obtenir l'exception "Impossible de créer une instance parce que type.ContainsGenericharamètres est vrai ".

Comment puis-je passer le type générique que je veux que ce soit?


0 commentaires

3 Réponses :


12
votes

type.MakeGenerictype est probablement quoi Vous recherchez ...


0 commentaires

3
votes

Vous devez d'abord créer un type de béton à l'aide de la méthode Makenerictype sur votre type générique


0 commentaires

3
votes

Disons que vous avez un type T code> d'une classe générique qui comporte un constructeur de paramètres, et un tableau des types à utiliser comme paramètres de type de la classe générique:

    t = t.MakeGenericType(genericTypeParameters);

    object instance = Activator.CreateInstance(t);


0 commentaires