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 :

Méthode InvokeMember avec référence


Sujet :

C#

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Méthode InvokeMember avec référence
    Bonjour,

    J'utilise dans un programme la méthode suivante dans une classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public object Invoke(string lcMethod,object[] Parameters)
                                    {
                                        return this.GetType().InvokeMember(lcMethod,BindingFlags.InvokeMethod,null,this,Parameters);
                                    }
    Mais je souhaiterai pouvoir relire le tableau object[] Parameters si il y a eu une modification des valeurs de paramètres par la Méthode.
    Puis-je utilise "ref" avec la méthode InvokeMember ou existe t-il une autre façon?

  2. #2
    Membre actif
    Avatar de Proteus91
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 150
    Points : 275
    Points
    275
    Par défaut Hello
    Hello Helico,

    Personnellement je ne te conseil pas d'utiliser Ref. Mais si c'est possible j'aimerai bien savoir dans quel cadre tu utilise cette Invoke peut être que je pourrai t'aider a modifier ton code ?

  3. #3
    Membre confirmé Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Points : 513
    Points
    513
    Par défaut
    Salut,

    si j'ai bien compris tu veux vérifier l'état des objets contenus dans 'Parameters' après l'invocation de la méthode ?

    Soit ce sont des types référence, et tu n'as pas besoin de rajouter quoi que ce soit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     object Invoke(string lcMethod,object[] Parameters)
                                    {
                                        var result = this.GetType().InvokeMember(lcMethod,BindingFlags.InvokeMethod,null,this,Parameters);
     
                                        //je fais ce que je veux avec Parameters
                                        //
     
                                        return result;
                                    }
    Soit ce sont des types valeur, et là tu ne peux rien faire, puisqu'il faudrait que la méthode invoquée définisse elle-même dans sa signature les paramètres en 'ref'.

    Mais... que veux-tu faire exactement ? Peut-être existe-t-il une manière de faire sans utiliser la réflexion ?

Discussions similaires

  1. [VS 2005 VB.net] Méthode Fill avec filtre
    Par collaud_vb dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/10/2006, 11h31
  2. [DOM] Transformer : encodage avec référence numérique
    Par tdaubign dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 01/09/2006, 10h26
  3. [EJB2.1 Entity] Problème méthode findAll() avec Jonas 4.7.4
    Par mixouille dans le forum Java EE
    Réponses: 1
    Dernier message: 28/07/2006, 12h06
  4. Méthode Download avec le composant TNMFTP
    Par mattdef dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/10/2005, 06h48

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