1.delegate
例:delegate int functionName();
2. .Net内建有System.Action
相比于delegate,Action无须定义(声明)就能使用,但是Action无返回值。
Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。
Action<int,string,bool> 表示有传入参数int,string,bool无返回值的委托。
public Action functionName;等同于public void functionName();
3.匿名Function
Action functionName=(传入值)=>{实体}
4.event修饰delegate
①外部不能调用。
②actionName += newAction; 添加
actionName -= newAction; 删除
③不能使用”=”(赋值)
5.static 静态 readonly 只读 const 静态+只读
另有 Func委托
Func是有返回值的泛型委托
Func<int> 表示无参,返回值为int的委托
Func<object,string,int> 表示传入参数为object, string返回值为int的委托
Func<object,string,int> 表示传入参数为object, string返回值为int的委托
Func<T1,T2,,T3,int> 表示传入参数为T1,T2,,T3(泛型)返回值为int的委托
Func至少0个参数,至多16个参数,根据返回值泛型返回。必须有返回值,不可void