163-委托的定义和声明
Posted wuxiaohui1983
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了163-委托的定义和声明相关的知识,希望对你有一定的参考价值。
委托(delegate)是一种存储函数引用的类型。
委托的定义指定了一个返回类型和一个参数列表
定义了委托之后,就可以声明该委托类型的变量,接着就可以把一个返回类型跟参数列表跟委托一样的函数赋值给这个变量。
委托的使用分两步
定义
声明(变量)
结构体,枚举的使用同上都分为定义和声明
整数类型数组类型字符串类型都是直接声明变量的,因为类型的定义已经完成了(CLR中已经完成定义)
委托的使用
delegate double MyDelegate(double param1,double param2); static double Multiply(double param1,double param2){ return param1*param2; } static double Divide(double param1,double param2){ return param1/param2; } double param1 = 34; double param2 =2; MyDelegate de; de = Multiply; de(param1,param2); de = Divide; de(param1,param2);
定义委托和函数差不多,区别在于:
1、定义委托需要加上delegate关键字
2、定义委托不需要函数体
委托可用于观察者等设计模式。
以上是关于163-委托的定义和声明的主要内容,如果未能解决你的问题,请参考以下文章
在一行中声明和定义一个委托(不使用 Action/Func)
对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。 错误解决一例。(代码片段