随手记记

在注册事件时的另一写法,高手们不需要看滴。。。。。

    /// <summary>
    /// 定义两个委托
    /// </summary>
    public delegate void TestDelegate1(string text);
    public delegate void TestDelegate2();

       /// <summary>
        /// 定义两个事件
        /// </summary>
        public event TestDelegate1 OnTest1;
        public event TestDelegate2 OnTest2;


        public Form1()
        {
            InitializeComponent();
            ///注册两个事件的另一写法 --只有一个参数时
            this.OnTest1 += (ss) =>
            {
                MessageBox.Show(ss);
            };
            //--没有参数
            this.OnTest2 += () =>
                {
                    MessageBox.Show("没有参数");
                };
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.OnTest1 != null)
            {
                //触发
                this.OnTest1("kimhillzhang");
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            if (this.OnTest2 != null)
            {
                //触发
                this.OnTest2();
            }
        }

原文地址:https://www.cnblogs.com/KimhillZhang/p/2719099.html