欢迎光临散文网 会员登陆 & 注册

委托

2023-03-29 17:44 作者:北星Knight  | 我要投稿

定义:

  • 委托是 函数(方法)的容器 ,可以理解为表示函数(方法)的变量类型用来存储、传递函数(方法)。

  • 委托的本质是一个类,用来定义函数(方法)的类型(返回值和参数的类型)不同的函数(方法)必须对应和各自"格式"一致的委托。


基本语法:

关键字 : delegate

语法:访问修饰符 delegate 返回值 委托名(参数列表);


可以申明在namespace和class语句块中

更多的写在namespace中



定义自定义委托:

访问修饰默认不写,为public,在别的命名空间中也能使用

private 其它命名空间就不能用了。


delegate void MyFun();

申明了一个可以用来存储无参无返回值函数的容器。

这里只是定义了规则,并没有使用。


delegate void MyFun();

委托规则的申明是不能重名(同一语句块中)

表示用来装载或传递 返回值为int 有一个int参数的函数的 委托 容器规则



delegate T MyFun3<T, K>(T v, K k);

委托是支持泛型的可以让返回值和参数可变更方便我们的使用。


委托常用在:

  • 作为类的成员

  • 作为函数的参数


系统定义好的委托:


无参无返回值:

 Action action = Fun;


可以指定返回值类型的 泛型委托:

Func<string> funcString = Fun4;


可以传n个参数的  系统提供了 1到16个参数的委托

Action<int, string> action2 = Fun6;


可以穿n个参数的 并且有返回值的 系统也提供了 16个委托

Func<int, int> func2 = Fun2;


委托的评论 (共 条)

分享到微博请遵守国家法律