委托,C#允许将一个类中的方法传递给另一个能调用该方法的类的某个对象。可以将类A中的一个方法m(被包含在某个委托中了)传递给一个类B,这样类B就能调用类A中的方法m了。使用委托可以将方法应用(不是方法)封装在委托对象内,然后将委托对象传递给调用方法的代码,这样编译的时候代码就没必要知道调用那个方法。通过使用委托程序能够在运行时调用不同的方法。而且委托应用的方法可以改变,这样同一个委托就可以调用多个不同的方法。
事件,就是当对象或类状态发生改变时,对象或类发出的通知。发出信息的对象或类称为“事件源”,对事件进行处理的方法成为“接受者”,通常事件源在发出状态改变信息时,它并不知道有哪个事件接受者来处理。这就需要一种管理机制来协调事件源和接受者,C#中事件使用委托来为触发时将调用的方法提供类型安全的封装。 |