C#委托基础2——多路委托

本文通过具体的C#代码示例介绍了委托的基本概念及其应用,特别是多路委托的实现方法。通过实例演示了如何创建、组合及取消委托的方法,并提供了金旭亮老师著作的相关参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C#委托基础系列原于2011年2月份发表在我的新浪博客中,现在将其般至本博客。

多路委托

class Program
    {
        public delegate void SayThingToS(string s);

        void SayHello(string s)
        {
            Console.WriteLine("你好{0}", s);
        }

        void SayGoodBye(string s)
        {
            Console.WriteLine("再见{0}", s);
        }

        static void Main(string[] args)
        {
            // 方式一
            SayThingToS say1, say2, say3, say4;
            Program p = new Program();
            say1 = p.SayHello;
            say1("xy"); // 你好xy

            say2 = p.SayGoodBye;
            say2("xy"); // 再见xy

            say3 = say1 + say2;
            say3("xy"); // 你好xy,再见xy

            say4 = say3 - say1;
            say4("xy"); // 再见xy


            // 方式二
            SayThingToS s1 = new SayThingToS(p.SayHello);
            s1 += new SayThingToS(p.SayGoodBye);
            s1("xy"); // 你好xy,再见xy

            SayThingToS s2 = new SayThingToS(p.SayHello);
            s2 += new SayThingToS(p.SayGoodBye);           
            s2 -= new SayThingToS(p.SayHello);
            s2("xy"); // 再见xy
        }
    }


本文参考自金旭亮老师的《.NET 4.0面向对象编程漫谈》有关代理的内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值