(八)委托、Lambda和事件

委托

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

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

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 的作用?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值