委托 第一篇
首先我们忘掉标题。
我们写个比较普通的方法
public static void Main(string[] args) { Dog("小狗"); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } public static void Dog(string Name) { Console. WriteLine (Name); }
打印出小狗

现在我们的方法的参数是string类型。我们也可以把参数写成int,double等等类型。
突然,我们想想,为什么我们不可以把自己写的方法做为参数穿给别人呢!微软说,有。
那就是委托,C#中用delegate表示。那委托在程序中怎么写。
那就是
public delegate void Del(string parameter);这是规则不能改变的,如果你需要用委托。一定要这样写(这个是最简单的,后面有匿名,lamada等等)
public 这个不用解释了吧
delegate 这个就是定义委托的关键字。
Void 这个是没有返回类型的。也可以有返回类型(string,int…..)
Del 定义委托名称
string parameter这个是参数
那我们就开始写个简单的委托
class Program { public delegate void Del(string Name); public static void Main(string[] args) { // TODO: Implement Functionality Here RunDel("小狗",Dog); Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } public static void Dog(string Name) { Console.WriteLine(Name); } public static void RunDel(string Name,Del d) { d(Name); } }

这就是一个最简单的委托,就是把方法作为参数传给另一个参数罢了,我认为他的作用就是做为参数传递用的,在DOG里面,你可以写你想要实现的逻辑,在传给别人使用。
委托有个约定,
就是你定义的方法一定要给委托的签名要相同。什么叫签名相同,就是返回类型要一样,或者都是Void。参数个数也要一样,参数的类型一样.
今天就到这了。下次再讲,每次我都会讲一个知识点,太多了。我写的累,你看的也累,也不容易记住。哈哈

浙公网安备 33010602011771号