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 :

Exécuter une ICommand via la reflexion


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Par défaut Exécuter une ICommand via la reflexion
    Bonjour,

    Je voudrais exécuter une ICommand dont le nom est contenu dans un string :

    Quelque chose comme:

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class MaClass{
      public ICommand MaCommand = new Command((o) => DoSomething(o),(o)=>true);
    }
    ...
    // main
      MonInstance = new MaClass();
      ((ICommand) (MonInstance.GetType().GetProperty("MaCommand")) ).Execute(args);

    L’exécution de code lève l'exception "invalid cast ICommand ".
    Si j'examine dans le debugger
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    MonInstance.GetType().GetProperty("MaCommand")
    est bien du type ICommand


    Une idée ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    getproperty te retourne une instance de type propertyinfo (informations sur la propriété)
    si tu veux la valeur de cette propriété pour une instance il faut faire .GetValue sur le propertyinfo
    là le cast fonctionnera et tu pourras invoke
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Exécuter une url via php et récupérer le contenu
    Par collosus dans le forum Langage
    Réponses: 1
    Dernier message: 28/08/2013, 09h57
  2. [Débutant] Exécuter une fonction via PHP
    Par Elyadohr dans le forum MATLAB
    Réponses: 1
    Dernier message: 04/08/2010, 19h53
  3. [AC-2003] Exécuter une requete via VBA
    Par rch05 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 16/07/2010, 11h38
  4. Exécuter une macro via commandButton
    Par lolonico dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/08/2008, 13h25
  5. Exécuter une fonction via les Macro
    Par Kephuro dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/01/2008, 23h31

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