zoukankan      html  css  js  c++  java
  • 泛型委托的基本写法

     1.0

    Func<string> Demo = () => { 

                    return "Hello";                        

           };          //这里相当于一个方法,这里是无参数,返回一个string类型

    string  demo= Demo();

    2.0

    Func<string,string> Demo = (str) => {

                    return str;                      

           };          //这里相当于一个方法,这里可以传参数,可以传N个参数,返回一个string类型

    string  demo= Demo("Hellow");

    ++++++++++++++++++++++++++++++++++下面介绍另外一个写法++++++++++++

     1.

    Action<string> demo = (str) => {
                    button2.Text = str;
                };
                demo("Hello");   //返回类型和参数类型都为string

    2.

    Action<string,int> demo = (str,str1) => {
                    button2.Text = str+str1.Tostring();
                };
                demo("Hello",1);   //参数为string,int。

    ++++++++++++++++++++++++++++++++++++委托作为方法进行传递(Func)+++++++++++++++++++++++

                public string FunShow()
                {
                   
                    MessageBox.Show("我是一个Fun委托方法");
                    return 1+"";
                }

            

        

              public void GetSomething<T>(Func<string> fun, T str1)//T可以为DataTable,string,int,char等等类型
                {

                    //string res = fun();//可以接受到执行方法的结果,即传入的Func的委托方法返回的string

                   //也可以访问 str1
                    MessageBox.Show(str1.ToString());
                }

             调用实例:

              string strRes="";

              Func<string>   strFun = new Func<string>(FunShow);

          GetSomething<string>(strFun,strRes);

          

  • 相关阅读:
    前端开发笔记(2)css基础(上)
    前端开发笔记(1)html基础
    <Android 基础(三 十)> Fragment (3) ~ PreferenceFragment
    MyEclipse中搭建Struts2开发环境
    Android 投射工具和录屏工具
    似是而非的k=sqrt(n)
    算法:求比指定数大且最小的“不重复数”问题的高效实现
    巧用“异或”
    12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(5)
    12个滑稽的C语言面试问答——《12个有趣的C语言问答》评析(4)
  • 原文地址:https://www.cnblogs.com/it888/p/3239540.html
Copyright © 2011-2022 走看看