zoukankan      html  css  js  c++  java
  • C#中委托的用法

    C#中委托类似于C++中指针的用法,提供了类似于函数指针的功能,不同的是C++中的函数指针只能指向静态方法,而委托除了能指向静态方法之外还可以指向对象的实例的方法。

    委托最大的特点是它不知道或不关心自己引用的对象的类。任何对象中的方法都可以通过委托动态调用,只是方法的参数类型和返回值类型必须与委托的参数类型和返回值类型相匹配。

    委托主要用在两个方面,其一是CallBack机制 其二是事件处理。

    建立和使用委托的步骤

    第一步:声明样板

    public delegate string MyDelegate(string name);

    格式:访问修饰符 delegate 类型 委托名(参数列表);

    注意:委托虽然类似于方法,但是却没有实现体,因为它是在执行方法是使用委托动态指定的!

    第二步:定义准备调用的方法

    这个方法是通过委托调用的,所以此方法的参数类型、个数、参数的顺序都必须和delegate类型相同,例如

    public static string FunctionA(string name)

    {

    ……

    }

    public static string FunctionB(string name)

    {

    ……

    }

    第三步:定义delegate类型的处理函数,并在此函数中通过delegate类型调用定义的方法

    public static void MethodA(MyDelegate Me)

    {

      Console.WriteLine(Me("张三"));

    }

    第四步:创建实例,传入准备调用的方法名

    MyDelegate a=new MyDelegate(FunctionA);

    本行代码的含义是:a指向FunctionA方法的程序代码段。

  • 相关阅读:
    【2018.10.3】万圣节的快递
    【2018.10.3】万圣节的入场券
    【2018.10.2】纸条
    【2018.10.2】菌落合并
    【2018.10.2】Note of CXM
    【2018.10.1】【JSOI2016】最佳团体(bzoj4753)
    【2018.10.1】「JOI 2014 Final」年轮蛋糕
    【2018.9.26】K-D Tree详解
    Python中的numpy模块解析
    Python中xlrd模块解析
  • 原文地址:https://www.cnblogs.com/liangshuai/p/2228512.html
Copyright © 2011-2022 走看看