• 委托学习笔记二(多播委托)


    多播委托是指引用多个方法委托。当调用委托时,它连续调用每个方法。为了把委托的单个实例合并为一个多播委托,委托必须是同类型的,返回类型必须是void,不能带输出参数(但可以带引用参数)。
    除此之外,它们的声明和实例化都和其他委托没有什么不同。多播委托用于C#的事件模型中。   
         您可以把多播委托看作两个或多个标准委托串在一起。委托可以使用算术运算符+和+=串在一起。委托也能使用-和-=运算符从多播委托中删除。当调用多播委托里,委托所表示的每个方法依次调用。如果有任何参数,它们将用于所有的方法。

    多播委托例子代码:
    public delegate void Message();
        
    class Class1
        
    {
            
    /// <summary>
            
    /// 应用程序的主入口点。
            
    /// </summary>

            [STAThread]
            
    static void Main(string[] args)
            
    {
                
    //
                
    // TODO: 在此处添加代码以启动应用程序
                
    //
                Message msg;
                
    //创建一个多播委托
                msg=new Message(Messages.Greeting);
                msg
    +=new Message(Messages.DateAndTime);

                Message msg2
    =new Message(Messages.Maintenance);
                msg
    +=msg2;
                msg();

                Console.ReadLine();
                
            }

            
        }


        
    public class Messages
        
    {

            
    public static void Greeting()
            
    {
                Console.WriteLine(
    "Welcome to Mandolin Co.");
                
    return;
            }


            
    public static void DateAndTime()
            
    {
                Console.WriteLine(DateTime.Now.ToLongDateString());
                
    return;
            }


            
    public static void Maintenance()
            
    {
                Console.WriteLine(
    "System maintenance be done tonight");
                
    return;
            }

        }


  • 相关阅读:
    Lucene.Net
    关于数据库优化问题总结
    网页幻灯片效果
    ASP.NET邮件发送
    【收藏】悟透JavaScript(李战)
    JS之显示、隐藏控件方法
    初学自定义验证码
    js之判断浏览器类型及版本号
    js清空上传控件的值
    vs2008学习之路
  • 原文地址:https://www.cnblogs.com/wuhuihui_dotnet/p/297018.html
Copyright © 2020-2023  润新知