小例子大智慧4--委托Delegate

来源:互联网 发布:如何注销淘宝企业店铺 编辑:程序博客网 时间:2024/04/27 22:02

简单说一下委托:

1、委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法或者多个方法

2、通俗的说,有了委托,程序可以在运行时动态调用不同的方法

3、委托的主要目的是为事件Event建立基础

前台aspx页面的设计:

<body>
    <form id="form1" runat="server">
    <div>
        乘法结果为:
        <asp:Label ID="Label1" runat="server"></asp:Label><br />
         加法结果为:
        <asp:Label ID="Label2" runat="server"></asp:Label><br />
    </div>
    </form>
</body>

后台.cs代码:

 //1.定义委托类型
    public delegate int Call(int num1, int num2);

    protected void Page_Load(object sender, EventArgs e)
    {
        Simple s = new Simple();
        //2.声明委托对象
        Call objCall;
        //3.创建委托对象(确定与哪些方法进行绑定)
        objCall = new Call(s.Multiply);
        //4.// 调用委托实例
        Label1.Text = objCall(5, 3).ToString();
        //5.使用+=和-=运算符实现方法的增加和减少,称多路广播
        Call d = new Call(s.Add);
        objCall += d;
        Label2.Text = objCall(5, 3).ToString();
    }

    public class Simple
    {
        // 乘法方法
        public int Multiply(int num1, int num2)
        {
            return num1 * num2;
        }

        //加法方法
        public int Add(int num1, int num2)
        {
            return num1 + num2;
        }
    }

 

显示结果:

乘法结果为:        15
加法结果为:        8

原创粉丝点击