Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

2 février 2014 7 02 /02 /février /2014 01:29

Action<T> et Func<T,TResult>

 

- Action<T> : délégué qui permet de pointer vers une méthode qui ne renvoie rien

- Func<T,TResult> : délégué utilisé avec une méthode renvoyant un résultat (le dernier paramètre correspond au type de retour)

Exemples :

1-Action

       delegate void SendMessage(string message);

 

        private void button1_Click(object sender, EventArgs e)

        {

            SendMessage sendMessage = ShowMessage;

            sendMessage("Bonjour à tous !");

        }

        public void ShowMessage(string message)

        {

            MessageBox.Show(message);

        }

Avec Action<T>

       private void button1_Click(object sender, EventArgs e)

        {

            Action<string> sendMessage = ShowMessage;

            sendMessage("Bonjour à tous !"); 

 

        }

        public void ShowMessage(string message)

        {

            MessageBox.Show(message);

        }

 

Avec méthode anonyme

Action<string> sendMessage = delegate(string message) { MessageBox.Show(message); };

Avec expression Lambda

Action<string> sendMessage = message => { MessageBox.Show(message); };

 

2-Func

delegate string SayHello(string name);

 

        private void button1_Click(object sender, EventArgs e)

        {

            SayHello sayHello = GetMessage;

            string message = sayHello("Marie Bellin");

        }

        public string GetMessage(string name)

        {

            return "Bonjour " + name  + " !";

        }

Avec Func<T,TResult>

private void button1_Click(object sender, EventArgs e)

        {

            Func<string, string> sayHello = GetMessage;

            string message = sayHello("Marie Bellin");

        }

        public string GetMessage(string name)

        {

            return "Bonjour " + name  + " !";

        }

 

Avec méthode anonyme

Func<string, string> sayHello = delegate(string name) { return "Bonjour " + name + " !"; };

Avec expression Lambda

Func<string, string> sayHello =  name => { return "Bonjour " + name + " !"; };

 

Partager cet article

Repost 0
Published by Romagny13 - dans C
commenter cet article

commentaires