【gridctrl源码】【北京同创源码网络】【新易语言源码】sms 源码

1.Action<SmsData> addData = d => SmsService.AddData(d); 如何理解?

sms 源码

Action<SmsData> addData = d => SmsService.AddData(d); 如何理解?

       å…ˆæ‹†è§£å¦‚下:

       d => SmsService.AddData(d); //转换下

       public void temp(SmsData d)

       {

        SmsService.AddData(d);

       }

       ä¸è€ƒè™‘线程安全,再次翻译:

        Action<SmsData> addData = temp;

        addData(obj);

       public void temp(SmsData d)

       {

        SmsService.AddData(d);

       }

       çœç•¥äº†ä¸€ä¸ªå‡½æ•°ï¼Œç”¨Lamada表达式写的 这种写法很长见 后面你在编程的时候能看到不少

       è¿™ä¸ªæ˜¯ä¸€ä¸ªå§”托,在使用 Action<T> 委托时,不必显式定义一个封装只有一个参数的方法的委托。

       å®šä¹‰ï¼š

       public delegate void Action<in T>(T obj)//理解成泛型的。

       DEMO:

       using System;

       using System.Windows.Forms;

       public class TestAction1

       {

        public static void Main()

        {

        Action<string> messageTarget;

        if (Environment.GetCommandLineArgs().Length > 1)

        messageTarget = ShowWindowsMessage;

        else

        messageTarget = Console.WriteLine;

        messageTarget("Hello,gridctrl源码 World!");

        }

        private static void ShowWindowsMessage(string message)

        {

        MessageBox.Show(message);

        }

       }

更多内容请点击【百科】专栏

精彩资讯