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 :

Comment passer une méthode en paramètre à une fonction ?


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut Comment passer une méthode en paramètre à une fonction ?
    Bonjour,

    C'est juste une petite question rapide, mais j'arrive pas à trouver les bons mots-clés sur Google...

    J'aimerais savoir s'il est possible de passer en paramètre d'une fonction, une méthode. Si oui, comment ?

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public void Traitement(method UneMethode)
    {
      // ...
     
      int i = UneMethode(52); // par exemple
     
      // ...
    }
    Merci d'avance,

    piloupy

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Oui c'est possible avec les délégués

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // Déclaration du délégué
    delegate int MaMethodeCallBack(int i);
     
    public void TestDelegue()
    {
        // Création d'un délégué
        MaMethodeCallBack callback = new MaMethodeCallBack(MaMethode);
        // On lance le traitement
        Traitement(callback);
    }
     
    public int MaMethode(int i)
    {
       // Fait son traitement et renvoi un entier
       return i;
    }
     
    public void Traitement(MaMethodeCallBack callback)
    {
      int i = callback(52);
      // i vaut 52
    }
    Après pour plus d'informations, google est ton ami
    Pas de questions techniques par MP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    J'ai trouvé par hasard...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public delegate void Method();
     
    public void Traitement(Method uneMethode)
    {
      // ...
      uneMethode();
      // ...
    }
     
    public void Main()
    {
      // ...
      Traitement(delegate() { Console.WriteLine("coucou"); });
      // ...
    }
    Désolé pour le dérangement ^^;

    piloupy

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 69
    Points : 63
    Points
    63
    Par défaut
    mdr le post en même temps

    merci tout de même

    piloupy

  5. #5
    Membre actif
    Avatar de Ecosmose
    Homme Profil pro
    Archi SI / Soft / Réseau / SCADA /Automate
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Archi SI / Soft / Réseau / SCADA /Automate
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 214
    Points
    214
    Par défaut
    Hey !

    Tu te serais retourné pour me le demander je t'aurais répondu (On est voisin de bureau ) !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/12/2012, 09h46
  2. Réponses: 1
    Dernier message: 10/01/2009, 17h34
  3. Réponses: 2
    Dernier message: 05/01/2009, 12h45
  4. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24
  5. [JACOB] Comment passer un objet par référence à une méthode
    Par zlavock dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 21/03/2005, 18h28

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