委托与事件
1. 委托的定义 个人理解为将某类方法(方法签名相同,不论是私有方法,公有方法还是静态方法,实例方法)进地类型化的途径。 可以类比于其他的类型例如:System.Int是对整数这一类具有共同特征的数据的一个类型化。 2. 委托的作用 通过委托,可以将某个方法作为参数进行传递。并且能够通过委托对传递的方法以进行签名检查。 3. C#中定义委托 C#中采用如下方式定义委托: public delegate ReturnType MethodName(Parameters(Type&Name)) 例如. public delegate void EventHandler(object sender,EventArgs arg) 4. C#中使用委托 使用委托时需要实例化一个委托。 e.g. EventHandler handler = new EventHandler(this.Method);(在委托实例化的过程中会对Method方法的签名进行验证) 这样即创建了一个委托实例,这个委托实例对方法Method进行了引用封装。接下来我们可以将handler传递或保存至任何需要执行Method方法的地方。 当想执行Method方法时,直接执行委托即可 e.g. handler(null,null); .Net Runtime被对该委托的调用翻译成对它所封装的方法的调用。