• Event


    事件关联的委托是按顺序串行执行的。

    View Code
    using System;
    
    namespace EventDemo
    {
        class Program
        {
            static void Main(string[] args)
            {
                Job job = new Job();
                job.DoJob();
            }
        }
    
        class Job
        {
            public delegate void JobHandle(int max);
            public event JobHandle OnWork;
            public Job()
            {
                OnWork += new JobHandle(new Job1().DoJob);
                OnWork += new JobHandle(new Job2().DoJob);
            }
            public void DoJob()
            {
                OnWork(5);
            }
        }
    
        class Job1
        {
            public void DoJob(int max)
            {
                for (int i = 0; i < max; i++)
                {
                    Console.WriteLine("[{0}]{1}", this, i);
                    System.Threading.Thread.Sleep(2000);
                }
            }
        }
    
        class Job2
        {
            public void DoJob(int max)
            {
                for (int i = 0; i < max; i++)
                {
                    Console.WriteLine("[{0}]{1}", this, i);
                    System.Threading.Thread.Sleep(1000);
                }
            }
        }
    
    }

    显示结果:

    [EventDemo.Job1]0
    [EventDemo.Job1]1
    [EventDemo.Job1]2
    [EventDemo.Job1]3
    [EventDemo.Job1]4
    [EventDemo.Job2]0
    [EventDemo.Job2]1
    [EventDemo.Job2]2
    [EventDemo.Job2]3
    [EventDemo.Job2]4
    请按任意键继续. . .

  • 相关阅读:
    C#按键打开文件选择对话框,并把选择好的路径保存/显示到textBox
    C#按钮打开浏览器,网址
    阅读笔记05
    进度条14
    冲刺4--10
    冲刺3
    冲刺2
    课堂训练书本
    进度条13
    课堂水王2
  • 原文地址:https://www.cnblogs.com/lucienbao/p/Event_Delegate.html
Copyright © 2020-2023  润新知