[翻译].NET委托:一个C#睡前故事[6]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

();

        peter.completed = new WorkCompleted(boss.WorkCompleted);
        peter.DoWork();
 
        Console.WriteLine(“Main: 工人工作完成”);
        Console.ReadLine();
    }
}

 

静态监听者

这样,彼得不会再拿他老板不想要的事件来烦他老板了,但是他还没有把宇宙放到他的监听者列表中。因为宇宙是个包涵一切的实体,看来不适合使用实例方法的委托(想像一下,实例化一个“宇宙”要花费多少资源…..),于是彼得就需要能够对静态委托进行挂钩,委托对这一点支持得很好:

class Universe {
    static void WorkerStartedWork() {
        Console.WriteLine("Universe notices worker starting work");
    }
 
    static int WorkerCompletedWork() {
        Console.WriteLine("Universe pleased with worker's work");
        return 7;
    }
 
    static void Main() {
        Worker  peter = new Worker();
        Boss        boss = new Boss();
        peter.completed = new WorkCompleted(boss.WorkCompleted);
        peter.started = new WorkStarted(Universe.WorkerStartedWork);
        peter.completed = new WorkCompleted(Universe.WorkerCompletedWork);
        peter.DoWork();
 
        Console.WriteLine(“Main: 工人工作完成”);
        Console.ReadLine();
    }
}<

本文关键:[翻译].NET委托:一个C#睡前故事
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top