zoukankan      html  css  js  c++  java
  • delegate 委托的使用

    从SDK中可以找到关于delegate的定义和使用方法。

    个人理解,delegate是声明委托类的关键字,声明委托和声明一个类差不多, 不过,可以不用为该委托类定义什么方法或属性。

    如:
    delegate void SomeDelegate();

    然后为该委托类创建一个实例,创建实例需要一个构造参数,该参数指定所要委托的例程的名称。

    如:
    SomeDelegate OneInstance = new SomeDelegate(OneMethod);

    void OneMethod()
    {
           //Do Something
    }

    这样的话在执行这个委托的实例的时候就相当于实行了这个委托实例所指定的所委托的方法!

     另外要注意的是,用 delegate声明的委托类的格式要和委托实例所委托的方法的声明格式一样(即返回类型,参数个数和各参数类型要一致)。

    如:
    delegate string B(int i);

    实例化B委托类型,并运行委托:
    B b = new B(A);
    b(12);      //此委托运行后将返回string型的字符串“12”

    此时所委托的方法A 需要很委托类型B的返回类型以及参数类型和个数都保持一致。

    如:
    string A(int i)
    {
         //Do Something;
         return i.ToString();
    }

    以上写的只是基本的用法。

  • 相关阅读:
    博客开启
    .NET 异常
    .NET 深入研究
    算法研究
    数据库相关
    非比较排序算法———桶排序(箱子排序)
    非比较排序算法———计数排序
    NHibernate深入学习
    数据结构与算法
    结对编程1 四则运算生成器的改进(201421123060 61 40)
  • 原文地址:https://www.cnblogs.com/ZetaChow/p/2237418.html
Copyright © 2011-2022 走看看