委托
委托是一个只包含方法的类,包含一个或多个对方法的引用,定义了函数的返回类型和参数类型 可用静态方法或实例方法初始化.
多波委托,包含多个方法组成链表,依次调用,可返回最后一个方法的结果.
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 的作用?