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);

          

  • 相关阅读:
    父容器的flowover:hidden 必须配合父容器的宽高height width才能生效
    css使 同一行内的 文字和图片 垂直居中对齐?
    vim查找替换
    要让div中的float不会自动显示到下一行来?
    如何理解clear的css属性?
    div+css使多行文字垂直居中?
    VMnet1和V8
    unslider的用法详解
    json的中括号和大括号的使用?
    如何合理定价,定价定天下,必须要学会这个哦!
  • 原文地址:https://www.cnblogs.com/it888/p/3239540.html
Copyright © 2011-2022 走看看