C#_委托与事件

Posted 彪悍的代码不需要注释

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#_委托与事件相关的知识,希望对你有一定的参考价值。

委托:

  把方法当作参数进行传递

public delegate void AddDelegate(string name);

public class Ad{

  //addDelegate就是委托的一个实例,把方法当作参数进行传递进去,逻辑分离,解除耦合

  public static void AddHander(string name,AddDelegate addDelegate){

    addDelegate(name);//调用该方法

  }

}

public static void Add(string name){ cw(name);}

调用:

    AddDelegate add = new AddDelegate(Ad.Add);//实例化委托

    Ad.AddHander("abc",add);//把委托当参数传递进去

    

事件:

public delegate void CatDelegate();//定义一个委托

//声明一个猫
public class Cat{

  public event CatDelegate  catHander;//声明一个事件

  public  void MiaoCat(){
  catHander.Invoke();//执行事件
  }

}

定义:委托就是一种类型,事件是委托的一种实例;

 

调用:Cat cat =new Cat();

    cat.catHander+=Run;//注册动作 Run()方法

    cat.catHander+=Miao;//注册动作 Miao()方法
    cat.MiaoCat();//执行调用事件方法,过程会依次执行Run、Miao这俩个方法

以上是关于C#_委托与事件的主要内容,如果未能解决你的问题,请参考以下文章

委托与事件——C#版本

C#委托与事件初探

C#委托与事件

C# 从1到Core--委托与事件

C#委托与事件的简单使用

C#委托和事件详解