(八)委托、Lambda和事件

来源:互联网 发布:mac rar解压缩软件 编辑:程序博客网 时间:2024/05/20 18:17

委托

委托是一个只包含方法的类,包含一个或多个对方法的引用,定义了函数的返回类型和参数类型 可用静态方法或实例方法初始化.

多波委托,包含多个方法组成链表,依次调用,可返回最后一个方法的结果.

public delegate void fnSome();fnSome fnGet = new fnSome(x.Get); fnGet += y.Get;//静态方法包含this指针,与签名参数不符,实现原理??


泛型委托

Action<T> :void返回类型方法

Func<T1,TResult> TResult 返回类型方法


Lamdba表达式

以最便捷的方式定义一个函数,在异步、委托等临时需要一个函数调用时使用极为方便简洁.

Func<string, string> lbd = param =>{ param+="test"; return param;}Func<int> lbd =() => 1;Func<string, string, string> lbd = (s1,s2) =>{return s1 + s2;}


事件

//EventHandler定义public delegate void EventHandler<TeventArgs>(object sender, TEventArgs e) where TEventArgs: EventArgs
event 的作用?


0 0
原创粉丝点击