当前位置: 代码迷 >> C# >> 写给自各儿看的C#委托笔记
  详细解决方案

写给自各儿看的C#委托笔记

热度:204   发布时间:2016-04-28 08:17:49.0
写给自己看的C#委托笔记

  首先先套用一下书中对于委托的描述

  什么是委托,法庭上律师为当事人辩护,他真正执行的是当事人的陈词,律师就相当于一个委托对象,而当事人则委托律师对象为自己辩护。

  C#中的委托概念就好比律师对象,它是一个类(“委托是类类型”),因为只有类对象才有对象的概念。

  C#中的委托可以理解为函数的一个包装,它可以使函数作为参数来传递,这在作用上相当于C++的函数指针。

  委托的定义和方法的定义类似,只是在定义的前面加了一个关键词delegate:

    public delegate void myDelegate(string name);

  委托能包装的方法需要满足一定条件,就是要与委托返回类型相同,参数个数、顺序、类型相同,比如:

    public void myMethod1(string myName);

    public void myMethod2(string yourName);

  了解了委托是什么之后,开始一个小例子来使用它

using System;namespace delegateHello{    //语言委托    class People    {        //使用delegate关键字来定义一个委托类型        public delegate void helloDelegate(string name);        public void hello(string name,helloDelegate helloLanguage)        {            //调用委托                helloLanguage (name);        }        //美国人打招呼        public void helloEnglish(string name)        {                Console.WriteLine ("Hello,{0}", name);        }        //中国人打招呼        public void helloChinese(string name)        {                Console.WriteLine ("你好,{0}", name);        }            public static void Main (string[] args)        {                People man = new People ();                man.hello ("Lucy", man.helloEnglish);                man.hello ("李华", man.helloChinese);                Console.Read ();            //Console.WriteLine ("Hello World!");        }    }}

 

  相关解决方案