当前位置: 首页 > news >正文

重庆市建筑网站建设查询网官网

重庆市建筑网站建设,查询网官网,商城模板建站,做网站为什么需要花钱一.委托 1.委托概述: (1)声明一个委托类型。委托声明看上去和方法声明相似,只是没有实现块。 (2)使用该委托类型声明一个委托变量 (3)创建委托类型的对象,把它赋值给委…

一.委托

1.委托概述:

(1)声明一个委托类型。委托声明看上去和方法声明相似,只是没有实现块。
(2)使用该委托类型声明一个委托变量
(3)创建委托类型的对象,把它赋值给委托变量。新的委托对象包括指向某个方法的引用,这个方法和第一步定义的签名和返回类型一致。
(4)选择为委托对象增加其他方法,这些方法必须与第一步中定义的委托类型有相同的签名和返回类型。(这些方法可以来自于任何类或结构
(5)调用委托(像调用方法一样调用委托),在调用委托的时候,其包含的每一个方法都会被执行。

2.声明委托类型

[访问修饰] delegate void MyDel (int x);// 访问修饰符 关键字 返回类型 委托类型名  签名

返回类型和签名指定了委托接受的方法的形式,例如:上面的声明指定了MyDel类型的委托只接受没有返回值并且有单个int参数的方法。
注意点:
(1)以delegate关键字开头;
(2)没有方法主体;
(3)委托是类型,与class同级,所以可定义在类外。

3.创建委托对象

委托类型的变量的声明

MyDel delVar;//委托类型  变量

创建委托对象的两种方式

(1)使用new运算符创建委托对象,new运算符的操作数组成如下:
委托类型名;
一对圆括号,其中包含作为调用列表中第一个成员的方法的名字。方法可以是实例方法,也可以是静态方法。
注释:可以把delegate看做一个包含有序方法列表的对象,这些方法具有相同的签名和返回类型。方法的列表称为调用列表。
注意点:调用列表中的方法可以是实例方法也可以是静态方法。
在调用委托的时候,会执行调用列表中的所有方法。

//创建委托并保存引用
delVar=new MyDel(myInstObj.MyM1);//这里是实例方法
//创建委托并保存引用
dVar=new MyDel(SClass.OtherM2);//这里是静态方法

(2)仅有方法名构成。

delVar=myInstObj.MyM1;//创建委托并保存引用
dVar=SClass.OtherM2;//创建委托并保存引用

还可以使用初始化语法在同一条语句中创建变量和初始化对象。

MyDel delVar=new MyDel(myInstObj.MyM1);
MyDeldVar=new MyDel(SClass.OtherM2);

或者

MyDel delVar=myInstObj.MyM1;
MyDeldVar=SClass.OtherM2;

4.组合委托

MyDel delA=myInstObj.MyM1;
MyDel delB=SClass.OtherM2;
MyDel delC=delA+delB;//组合调用列表

第三个是组合委托,委托是恒定的。委托对象被创建后不能再被改变

5.为委托添加方法

为委托添加方法使用“+=”运算符,如下代码为委托的调用列表“增加”了两个方法,方法加在了调用列表的底部。

MyDel delVar=myInstObj.MyM1;//创建并初始化
delVar+=SCL.m3;//增加方法
delVar+=X.Act;//增加方法

使用“+=”运算符,实际发生的是创建了一个新委托。

6.从委托移除方法

使用“-=”运算符,从委托移除方法,实际发生的也是创建了一个新委托。

delVar-=X.Act;//增加方法

注意事项:
如果再调用列表中的方法有多个实例,-=运算符将从列表最后开始搜索,并且移除第一个与方法匹配的实例;
试图删除委托中不存在的方法没有效果;
试图调用空委托会抛出异常,可以通过把委托和null进行比较来判断委托的调用列表是否为空。如果调用列表为空,则委托是null.

7.调用委托

像调用方法一样简单地调用委托。(如果一个方法在调用列表中出现多次,当委托被调用时,每次在列表中遇到这个方法时它都会被调用一次。)

调用带返回值的委托,如果委托有返回值并且在调用列表中有一个以上的方法,会发生下面的情况:
调用列表中最后一个方法返回的值就是委托调用返回的值;
调用列表中所有其他方法的返回值都会被忽略

http://www.tj-hxxt.cn/news/50672.html

相关文章:

  • 麻将网站开发搜索引擎免费登录入口
  • 做我的狗哪个网站可以看google浏览器网页版
  • 广州企业网站建设公司做百度线上推广
  • 用手机搭建网站网络营销推广论文
  • 荔湾区网站建设东莞疫情最新消息今天新增病例
  • 用ps怎么做学校网站页面百度app推广方法
  • 怎么才能创个网站怎么营销推广
  • 网站开发课程知识点总结郑州seo询搜点网络效果佳
  • 企业网站免费建设工具企业网站推广建议
  • 合肥做百度网站seo学校培训
  • 网站建设业务员话术抖音引流推广一个30元
  • 做珠宝建个网站推广怎么样信息如何优化上百度首页公司
  • 平乡网站建设福州seo
  • 福州网站免费制作百度收录网站提交入口
  • 中国建设银行网站对公业务百度权重是什么意思
  • 在网上做网站志鸿优化网
  • 网站首页是乱码 其他页面正常鸿星尔克网络营销
  • 聊城网站建设设计开发公司建设网站的基本流程
  • 诸城 网站 建设公司网站怎么申请怎么注册
  • 做外贸通常用哪些网站网络舆情监测系统软件
  • 湛江网站建设皆选小罗23网站设计培训
  • 娄底网站建设方案百度网址链接
  • 怎么制作ppt 教程网站优化策略分析
  • 小企业网站建设有多少北京seo代理计费
  • 网站开发款计入什么科目百度百科查询
  • 如何建设一个公众号电影网站谷歌广告代运营
  • 嘉兴商城网站开发设计win7优化软件
  • 网站如何做线上推广站长工具推荐网站
  • 旅游网站建设的目标是什么意思semifinal
  • 临沂网站案例seo顾问服务四川