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

C# Discussion :

Introspection de type non générique


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 111
    Par défaut Introspection de type non générique
    Bonjour,
    J'ai le nom d'un module que je dois lancer via mon application.
    Quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    object ibj = Activator.CreateInstance("NomModule");
    cela ne génère aucune erreur, mais quand je veux accéder au méthode de se composant cela ne passe pas car je dois tout d'abord caster le ibj avec son type. Mais quand j'affiche le type avec la méthode getType, il me donne System.__ComObject. du coup je ne sais plus quoi faire.
    Des idées ?
    Merci d'avance

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Loubna.B Voir le message
    Bonjour,
    J'ai le nom d'un module que je dois lancer via mon application.
    Qu'appelle tu "module" ? cette notion n'est pas vraiment habituelle en C#.

    Quand je fais object ibj = Activator.CreateInstance("NomModule"); cela ne génère aucune erreur, mais quand je veux accéder au méthode de se composant cela ne passe pas car je dois tout d'abord caster le ibj avec son type.
    Ben, oui, c'est logique. Mais si tu peux caster c'est que tu dispose du type ? Dans ce cas, pourquoi ne cast tu pas directement sur le CreateINstance ????

    Sinon (tu ne dispose pas du type, donc tu ne peux pas caster), utilise la reflection pour récupérer les MethodInfo, MemberInfo et tu les invoques à partir de là.

    Mais quand j'affiche le type avec la méthode getType, il me donne System.__ComObject. du coup je ne sais plus quoi faire.
    Des idées ?
    Merci d'avance
    Mais tu instancies un objet de quel type ?

    J'ai l'impression qu'il manque quelques éléments dans la description de ton problème.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 111
    Par défaut
    effectivement le type manquait, je devais ajouter un OCX a mon appli avant que cela ne marche.
    Merci comme meme

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

Discussions similaires

  1. [VB.NET] Type non défini quand j'appelle un Windows Form ?
    Par beegees dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/06/2006, 11h12
  2. definition de type non reconnu par g++ ou erreur?
    Par harsh dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 09/06/2006, 01h42
  3. convertir un type non managé en type managé.
    Par poporiding dans le forum MFC
    Réponses: 6
    Dernier message: 22/05/2006, 10h49
  4. convertir un type non managé en type managé.
    Par poporiding dans le forum C++
    Réponses: 3
    Dernier message: 22/05/2006, 09h44
  5. certains types non documentés?
    Par hansaplast dans le forum wxWidgets
    Réponses: 5
    Dernier message: 02/02/2006, 13h15

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