摘要:
委托是一个类,它定义了一种方法类型,使得方法可以像其他普通类型一样作为参数被传递,但它与普通类型的区别是,可以将多个方法实例绑定到一个委托实例上,调用的时候,依次执行。委托带来的好处是,提升程序的可扩展性,解决if/else(或Switch)的问题。用到委托的地方: 当涉及到针对某一相同的输入,需要根据情况去执行不同的逻辑或产生不同的输出时,通常会需要if/else或者switch来实现,可以考虑引入委托。事件实际是委托的一个封装,当把一个委托定义为某个类的成员时,如果声明为public又恐暴露给客户端随意更改,违背了封装性,声明为private,又违背了给客户端使用的本意,故而采用和普通类型 阅读全文
摘要:
下面的过程演示了如何将符合标准 .NET Framework 模式的事件添加到您自己的类和结构中。.NET Framework 类库中的所有事件均基于EventHandler委托,定义如下:public delegate void EventHandler(object sender, EventArgs e);注意.NET Framework 2.0 引入了此委托的一个泛型版本,即EventHandler<T>。下面的示例显示如何使用这两种版本。虽然您定义的类中的事件可采用任何有效委托类型(包括会返回值的委托),但是,通常建议您使用EventHandler让事件采用 .NET F 阅读全文