zoukankan      html  css  js  c++  java
  • 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这俩个方法

  • 相关阅读:
    数据库基本设计
    servlet 高级知识之Listener
    servlet 高级知识之Filter
    servlet-生命周期
    http协议概述
    javase高级技术
    javase高级技术
    IO之4种字节流拷贝文件方式对比
    Map 概述
    图解 数组,链表,2种数据结构
  • 原文地址:https://www.cnblogs.com/ingstyle/p/6389353.html
Copyright © 2011-2022 走看看