zoukankan      html  css  js  c++  java
  • C#中委托。

    委托(delegate):是一个类型。其实winform中控件的事件也是特殊的委托类型。

    如:

    自定义委托:自定义委托在winform中的用法。

    当要在子线程中更新UI时,必须通过委托来实现。

          private  delegate void myDelegate(string str);
            private void btbdelegate_Click(object sender, EventArgs e)
            {
                Task ta2 = Task.Factory.StartNew(() => DoWork());  
    
            }
    
            private void DoWork()
            {
                //显示委托。
                myDelegate mydele = SetText;// new myDelegate(SetText);//我觉得只是把地址赋值给了委托。
                int i = 0;
                while (i < 1000)
                {
                    btbdelegate.Invoke(mydele, i.ToString());
                    btbdelegate.Invoke(new Action(() => { btbdelegate.Text = i.ToString(); } ));//
                    i++;
                }
              
            }
            private void SetText(string str)
            {
                btbdelegate.Text = str;
            }

    .net 框架自带委托:

    1.Func委托类型

    Func是有返回值的泛型委托,可以没有参数,但最多只有16个参数,并且必须要有返回值。

          private void btbdelegate_Click(object sender, EventArgs e)
            {
                //Task ta2 = Task.Factory.StartNew(() => DoWork());
                FuncTest();
            }
            private void FuncTest()
            {
                Func<string, string> functest = FuncText;//FuncText方法返回值必须是string类型。
                btbdelegate.Text = functest("fun111");
            }
            private string FuncText(string str)
            {
                return str;
            }

     2.Action委托类型
    Action是没有返回值的泛型委托,可以没有参数,但最多只有16个参数。

         private void btbdelegate_Click(object sender, EventArgs e)
            {
                //Task ta2 = Task.Factory.StartNew(() => DoWork());
                FuncTest();
                ActionTest();
            }
            private void ActionTest()
            {
                Action<string, string> method = (str1, str2) => 
                { btbdelegate.Text = str1 + str2; };//方法体。
                method("11", "22");
            }
  • 相关阅读:
    C段/旁站,子域名爆破的概念
    Linux USB Printer Gadget Driver
    Multifunction Composite Gadget
    PXA2xx SPI on SSP driver HOWTO
    SPI用户空间API
    Linux内核SPI支持概述
    Industrial I/O
    I2C设备驱动程序从用户空间绑定控制(旧内核)
    I2C 10-bit 地址
    Slave I2C
  • 原文地址:https://www.cnblogs.com/longdb/p/7763915.html
Copyright © 2011-2022 走看看