• 委托 Action和Func,event


    其实 delegate action func event 用法上都是一样的,概念和定义上不一样


    Action 无参数,无返回值

    1.定义无参委托Action
    
      Action NoparamMethod;
    
    2.加入委托链
    
      NoparamMethod += MyMethod;
    
    3.触发委托
    
      NoparamMethod();

    Action<T>   泛型T参数,不带返回值

    1.定义泛型带参委托
    
      Action<string> TActionMethod;
    
    2.加入委托链
    
      TActionMethod+= TMyMethod;
    
    3.触发委托
    
      TActionMethod("abc");

    Func<in,out> 泛型带返回值(可带参,也可不带参)

    1.定义
    
    Func<string> SendFunc;    //不带参数,但是带返回值
    
    Func<string,string> SendFunc;   //带1个string参数,带返回值
    
    2.加入委托链
    
    SendFunc += FMethod;
    
    3.触发委托
    
    string result = SendFunc("abc");

     Event

    1.定义

    public event EventHandler MyEvent;

    2.加入委托链,注册事件

    public void Mythod(Sender sender,EventArgs e)

    {

      MessageBox.Show("自定义的event");

    }

    MyEvent += Mythod;

    3.触发事件

    //继承EventArgs

    public class MyEventArgs:EventArgs

    {

      public string text{get;set}

    }

    MyEvent(this,new MyEventArgs(){text="abc"});

  • 相关阅读:
    【后端】Python学习笔记
    【学习】JennyHui学英语
    【学习】JennyHui学英语
    【英语】Bingo口语笔记(3)
    LoadRunner目录分析
    性能测试常见用语
    [转]黑盒测试用例设计方法
    RUP
    软件质量管理杂谈
    关于BUG
  • 原文地址:https://www.cnblogs.com/boentouch/p/12779664.html
Copyright © 2020-2023  润新知