IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Framework .NET Discussion :

Utilisation de la reflection avec des génériques


Sujet :

Framework .NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 25
    Points
    25
    Par défaut Utilisation de la reflection avec des génériques
    Bonjour, je butte actuellement sur un problème récurent qui se produit lorsque j'essaye de mélanger des codes se basant sur des classes Génériques avec du code utilisant la réflexion.

    En effet j'ai des classes se basant sur des génériques utilisant des contraintes :
    MaClasse<T> where T:IMonInterface.

    Je souhaite crée un objet de type TMonType implémentant IMonInterface par réflexion, et je souhaite ensuite créer une instance de MaClasse<TMonType> de manière dynamique (qui serait capable de créer une instance de MaClasse<TMonType2> si on créait une autre instance d'un autre type par réflexion).

    Je pense que la solution consiste à créer une instance de MaClasse<TMonType> en passant aussi par la réflexion mais j'ignore comment on peux faire pour créer une instance de générique par reflexion, d'autant plus que je suis obligé de passer par les AssemblyQualifiedName pour construire l'instance de TMonType (etant donné que sa définition se situe dans une autre assembly).

    Je ne sais pas si mon explication est suffisament clair, n'hésitez pas à poser des question si c'est un petit peu flou

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par Tekarihoken Voir le message
    j'ignore comment on peux faire pour créer une instance de générique par reflexion
    Hello,
    de la même façon qu'avec une classe non générique. Le truc un peu dur, c'est de récupérer le type générique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Type TMonType = ... // à récupérer
    Type generic = typeof(MaClasse<>).MakeGenericType(TMonType);
    var instance = Activator.CreateInstance(generic);
    ಠ_ಠ

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 17
    Points : 25
    Points
    25
    Par défaut
    Merci beaucoup c'est exactement ce que je souhaitais faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Re-utilisation d'une table avec des alias
    Par slake13 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/10/2008, 17h56
  2. Réponses: 3
    Dernier message: 27/02/2008, 11h07
  3. Réponses: 1
    Dernier message: 11/05/2007, 19h36
  4. Réponses: 2
    Dernier message: 02/04/2007, 11h53
  5. utilisation d'un CopyFile avec des edits.??
    Par EssaiEncore dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2005, 16h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo