asp.net 委托讲解

委托市一中特殊的对象类型,它定义了方法的类型,使得可以方法当作另一个方法的参数进行传递,其特殊指出在于,我们以前定义的所有对象都包含数据,而委托包含的只是方法的地址,下面是代码:

 class Program

    {

        static void Main(string[] args)

        {

            DelegateTest test = new DelegateTest();

            // 特别注意:传递的为事件的地址指针

            test.Dowork("唐雷", test.sayChinese);

            test.Dowork("tl", test.sayChinese);

            Console.ReadKey();

            //下面为多播的演示  特别注意:传递的为事件的地址指针

            ConsoleApplication1.DelegateTest.saySomething saytest = test.sayEnglish;

            saytest += test.sayChinese;

            test.Dowork("唐雷", saytest);

        }

    }

    class DelegateTest

    {

        /// <summary>

        /// 定义一个委托,名为saySomething

        /// </summary>

        /// <param name="name">名称</param>

        public delegate void saySomething(string name);

        /// <summary>

        /// 通过传递的方法名来执行不同的委托事件

        /// </summary>

        /// <param name="name">名称</param>

        /// <param name="MakeSay">委托类型的变量(注意:地址指针)</param>

        public void Dowork(string name, saySomething MakeSay)

        {

            MakeSay(name);

        }

        /// <summary>

        /// 说英语

        /// </summary>

        /// <param name="name"></param>

        public void sayEnglish(string name)

        {

            Console.WriteLine("hello,"+name);

        }

        /// <summary>

        /// 说中文

        /// </summary>

        /// <param name="name"></param>

        public void sayChinese(string name)

        {

            Console.WriteLine("你好," + name);

        }

    }

运行后的结果:

转载于:https://www.cnblogs.com/xlhblogs/archive/2011/09/14/2176321.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值