自学内容网 自学内容网

C# 委托(Delegate)一

一.Delegate的定义说明:

C# 中的委托(Delegate)就是类似于 C 或 C++ 中函数的指针。Delegate 是存有对某个方法引用的一种引用类型变量,引用可在运行时是可以被改变的,特别适用于实现事件和回调方法。所有的Delegate都是派生自 System.Delegate 的类。

二.声明委托(Delegate):

声明委托的常规语法如下:

delegate <return type> <delegate-name> <parameter list>

//关键字       返回类型        委托变量名称         参数表

 委托声明决定了可由该委托引用的方法,可指向一个与其具有相同标签的方法。

例如:

public delegate int MyDelegate (string s);

//用于引用任何一个带有一个单一的 string 参数的方法,并返回一个 int 类型变量的需求。

 三.实例化委托(Delegate):

一旦声明了委托类型,委托对象必须使用 new 关键字来创建,且与一个特定的方法有关。当创建委托时,传递到 new 语句的参数就像方法调用一样书写,但是不带有参数。

如示例:

界面如图

代码:

        class TestDelegate
        {
            static int num = 1;
            public static int AddNum(int Num1)
            {
                num += Num1;
                return num;
            }

            public static int MultNum(int Num2)
            {
                num *= Num2;
                return num;
            }
            public static int getNum()
            {
                return num;
            }


        }
        delegate int NumberChanger(int n);
        private void button15_Click(object sender, EventArgs e)
        {

            
            {
                // 创建委托实例
                NumberChanger nc1 = new NumberChanger(TestDelegate.AddNum);
                NumberChanger nc2 = new NumberChanger(TestDelegate.MultNum);
                // 使用委托对象调用方法
                nc1(205);
                numericUpDown11.Value = TestDelegate.getNum();
               
                nc2(55);
                numericUpDown12.Value = TestDelegate.getNum();
               
            }
        }

后续待写、、、、、、


原文地址:https://blog.csdn.net/weixin_53520014/article/details/142544506

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!