委托 第一篇

首先我们忘掉标题。

我们写个比较普通的方法

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。参数个数也要一样,参数的类型一样.

今天就到这了。下次再讲,每次我都会讲一个知识点,太多了。我写的累,你看的也累,也不容易记住。哈哈

posted @ 2017-06-05 23:08  杯底  阅读(130)  评论(0)    收藏  举报