委托 delegate
来源:互联网 发布:网络神助攻什么意思 编辑:程序博客网 时间:2024/05/19 05:04
定义:
委托就像是函数指针。
定义一个委托 = 定义一个新类。
delegate double twoLongOp(long first, long second);
用delegate开头,上面表示定义了一个委托twoLongOp,它带有两个参数first和second和一个double的返回值。
泛型委托,Action<T1, T2, .........T16> 用于没有返回类型的。
Func<T1, T2, .........T16, TResult> 用于有返回类型的,返回值为TResult。
Func<(long , long, double>twoLongOp; 定义了一个委托变量twoLongOp,它带有两个long型的参数和一个 double型的返回值。
注意twoLongOp是一个变量,不能用它去实例化对象。
使用:
将委托传递给方法;
委托数组;
class Program { delegate double twoLongOp(long first, long second); static double funcPlus(long first, long second) { return first + second; } static double funcChen(long first, long second) { return first * second; } static void Main(string[] args) { twoLongOp[] FuncList = { funcPlus, funcChen}; /*twoLongOp[] FuncList = new twoLongOp[2]; FuncList[0] = funcPlus; FuncList[1] = funcChen; 这样当然也是可以的*/ foreach(twoLongOp aFunc in FuncList) { Console.WriteLine(aFunc(4,4)); } //委托泛型 Func<long, long, double>[] FuncList2 = { funcChen , funcPlus}; foreach (Func<long, long, double>aFunc in FuncList2) { Console.WriteLine(aFunc(5, 5)); } Console.ReadKey();输出:
8
16
25
10
0 0
- 委托(Delegate)
- 委托(Delegate)
- delegate委托
- 委托(delegate)
- Delegate 委托
- delegate 委托
- 委托:delegate
- 委托 delegate
- 委托(delegate)
- 委托,delegate
- delegate-委托
- 委托 delegate
- delegate委托
- Delegate委托
- 委托 delegate(System.Delegate)
- 委托(Delegate)
- 委托(Delegate)
- 委托(Delegate)
- MySQL导入导出命令
- Android布局
- 黑马程序员-交通红绿灯
- gentoo安装xfce桌面及fcitx输入法
- java内置的future模式
- 委托 delegate
- linux 下mysql 命令操作
- Ubuntu之MySQL安装指南(安装、配置、远程设置)
- Tomcat Basic Authentication
- coreutils学习——vim插件(cscope、ctags、taglist)
- 单选按钮 RadioButton 的使用
- 防火墙的四项基本性能指标
- 我所在的团队
- 微信首次关注推送消息