一个简单的C#多播委托的小例子

多播委托是指一个由委托串成的链表,当链表上的一个委托被回调时,所有链表上该委托的后续委托将会被顺序执行。需要注意,多播委托必须是同类型的,返回类型必须为void,并且不能带输入参数(但可以带引用参数)

System.MuliticastDelegate定义了对多播委托的支持。

复制代码
class Program
    {
        public delegate void DemoMultiDelegate(); 
        static void Main(string[] args)
        {
            DemoMultiDelegate dmd = new DemoMultiDelegate(PrintMethod1);
            dmd += new DemoMultiDelegate(PrintMethod2);
            dmd += new DemoMultiDelegate(PrintMethod3);
            dmd();
            Console.ReadLine();
        }
        static void PrintMethod1()
        {
            Console.WriteLine("first method");
        }
        static void PrintMethod2()
        {
            Console.WriteLine("second method");
        }
        static void PrintMethod3()
        {
            Console.WriteLine("third method");
        }
    }
复制代码

 

posted @   fo0ol  阅读(308)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示