C#委托

来源:互联网 发布:cnki学位论文数据库 编辑:程序博客网 时间:2024/04/27 22:46

委托的意思跟它的本意是一样的,就是我不直接处理一件事情,我委托别人帮我处理。
在委托别人帮忙时,我们需要做以下的几件事情。
首先,这件事我自己做不了,我开始决定委托别人做了,做出委托决定,就是委托中的委托定义。委托的定义采用Delegate关键字定义。
例如:Delegate String Sayname(string name);
这就定义了一个委托。它的语法跟方法的定义类似,但是没有方法体,而且前面要加一个Delegate关键字。就是好比我要委托别人帮我做事,我不用要求别人怎么做,怎么做我不管,我委托你就好了,怎么做事你的事情。
实际上定义委托就是定义一个新类。
做出委托决定之后该觉得我委托谁去做了,这个过程就是委托的声明,我们知道,定义委托就是定义了一个类,委托的声明也就是声明对象,所以声明为:Sayname sayname;
我们可以看到,其实就是声明了一个对象。
我们确定了委托谁去做事情之后,就该确定怎么去做了,通过委托的定义我们可以看到,我要的结果是String,就是你完成我的委托后就要返回给我String,所以做事的方法定义就是:Public String Say(String name);
确定了方法后就是要求被委托的人按照指定的方法去做事情了,这个过程就是委托的实例化;实现如下:
sayname=new Sayname(new 做事方法);
整个过程的实例如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace delegates{    delegate string Sayname(string name);    class Program    {        static void Main(string[] args)        {            Sayname sayname = new Sayname(new Program().say);            Console.WriteLine(sayname("xiaoming"));            Console.ReadKey();        }        public string say(string name)        {            return name;        }    }}
0 0
原创粉丝点击