Bonjour,
Je suis exposé à un problème :
- Le type de la variable est inconnue avant lancement du programme.
Elle est connue par la suite dans le programme selon un paramètre placé par l'utilisateur.
Pour l'instant selon le paramètre entré par l'utilisateur j’obtiens une variable.
Je souhaiterais créer l'objet de ce type, afin de pouvoir utiliser les méthodes qui lui sont associées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Type catalogue = typeof(Catalogue<Element>);
J'ai lu qu'il était possible d'utiliser la réflexion à ce sujet, elle est mise en place mais ne me convient pas totalement...
-L'utilisation de la réflexion est lourde, de plus toute la suite du programme qui utilise l'objet crée en réflexion doit utiliser aussi la réflexion.
Je me demandais si quelqu’un avait une solution à ce problème, je suis encore débutant en C# et en Framework .NET.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 MethodInfo methodeSansGenerique = typeof(JsonConvert).GetMethod("DeserializeObject", new[] { typeof(string) }, true); MethodInfo methodeAvecGenerique = methodeSansGenerique.MakeGenericMethod(catalogue); var catalogueElement = methodeAvecGenerique.Invoke(null, new object[] { "{//Contenu du fichier JSON supprimé pour la clarté...}" });
Merci à vous !
Partager