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

佛山h5网站公司杭州seo技术培训

佛山h5网站公司,杭州seo技术培训,seo怎么收费seo,景德镇网站制作文章目录 前言一、什么是委托?二、委托的应用1.使用委托的具体步骤2.委托的类型(命名方法委托,多播委托,匿名委托)① 命名方法委托:② 多播委托:③ 匿名委托: 总结 前言 最近有用到…

文章目录

  • 前言
  • 一、什么是委托?
  • 二、委托的应用
    • 1.使用委托的具体步骤
    • 2.委托的类型(命名方法委托,多播委托,匿名委托)
    • ① 命名方法委托:
    • ② 多播委托:
    • ③ 匿名委托:
  • 总结


前言

最近有用到委托,所以重新复习了一下委托的相关知识,在此记录一下。


一、什么是委托?

委托是C#中的一种引用类型,委托的本质是一个类,定义了方法的类型,是将方法作为参数传递到另一个方法的特殊类。
委托可以认为是持有一个或者多个方法的对象,当委托被调用时,它持有的方法也会被调用。
委托是方法的抽象,它存储的就是一系列具有相同签名和返回回类型的方法的地址。
委托不是对象,是一种类型。

二、委托的应用

委托的使用遵循三步走的原则,即定义声明委托,实例化委托,调用委托。

1.使用委托的具体步骤

  1. 定义声明委托
  2. 实例化委托(给委托赋值)
  3. 调用委托
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/119dd651bf3d40e8851

一般情况往委托中添加方法,其实是往委托的方法列表中添加,它是一个包含有序方法列表的对象,这些方法具有相同的签名和返回类型。

  • 方法的列表称为调用列表
  • 委托保存的方法可以来自任何类或结构。(方法的满足条件:委托的返回类型、委托的签名)
  • 调用列表中的方法可以是实例方法也可以是静态方法。
  • 在调用委托的时候,会执行其调用列表中的所有方法。

2.委托的类型(命名方法委托,多播委托,匿名委托)

委托可以分为 命名方法委托、多播委托、匿名委托,其中命名方法委托是最常见的一种委托。

① 命名方法委托:

定义语法格式:

 修饰符  delegate  返回值类型  委托名 ( 参数列表 );

实例化委托,命名方法委托在实例化委托时必须带入方法的具体名称,语法如下

委托名  委托对象名 = new 委托名 ( 方法名 );

委托中传递的方法名既可以是静态方法的名称,也可以是实例方法的名称。
需要注意的是,在委托中所写的方法名必须与委托定义时的返回值类型和参数列表相同。
在实例化委托后即可调用委托,语法形式如下:

委托对象名 ( 参数列表 );
实例1:在委托中注入静态方法

在这里插入图片描述

实例2:在委托中注入实例方法

在这里插入图片描述

② 多播委托:

多播委托是指在一个委托中注册多个方法,在注册方法时可以在委托中使用加号运算符或者减号运算符来实现添加或撤销方法。 实例:模拟点餐平台预定不同类型的商品
class Program{//定义购买商品委托public delegate void OrderDelegate();static void Main(string[] args){//实例化委托OrderDelegate buy = new OrderDelegate(Order.BuyFood);//向委托中注册方法buy += Order.BuyCake;buy += Order.BuyFlower;//调用委托buy();Console.ReadLine();}}public class Order{//委托方法(返回值和参数必须与定义的委托类型一样)public static void BuyFood(){Console.WriteLine("购买快餐!");}public static void BuyCake(){Console.WriteLine("购买蛋糕!");}public static void BuyFlower(){Console.WriteLine("购买鲜花!");}}

结果:
在这里插入图片描述
在委托注册方法时使用 -= 操作符可以撤销委托
在使用多播委托时需要注意,在委托中注册的方法参数列表必须与委托定义的参数列表相同,否则不能将方法添加到委托上。

③ 匿名委托:

匿名委托是指在使用匿名方法注册在委托上,实际上是在委托中通过定义代码块来实现委托的作用。语法格式如下:
//1. 定义委托
修饰符  delegate  返回值类型  委托名 ( 参数列表 );//2. 定义匿名委托
委托名  委托对象 = delegate
{//代码块
};//3. 调用匿名委托
委托对象名 ( 参数列表 );
实例:使用匿名委托计算长方形的面积
class Program
{//定义委托public delegate void AreaDelegate(double length,double width);static void Main(string[] args){Console.WriteLine("请输入长方形的长:");double length = double.Parse(Console.ReadLine());Console.WriteLine("请输入长方形的宽:");double width = double.Parse(Console.ReadLine());AreaDelegate area = delegate{Console.WriteLine("长方形的面积为:" + length * width);};area(length, width);Console.ReadLine();}
}

结果:
在这里插入图片描述
由于匿名委托并不能很好地实现代码的重用,匿名委托通常适用于实现一些仅需要使用一次委托中代码的情况,并且代码比较少。


总结

以上就是我对C#中有关于委托的相关知识整理,希望对大家有所进步,如有不对的地方,也请不要怪罪哦
参考:https://blog.csdn.net/luan0125/article/details/122957212

http://www.khdw.cn/news/65378.html

相关文章:

  • 久久建筑网登录入口seo培训优化课程
  • 太原整站优化排名外包会计培训班要多少钱一般要学多久
  • python如何做自己的网站seo优化培训多少钱
  • 学校校园网站建设服务网站关键词推广优化
  • 东莞微信网站建设怎样已备案域名30元
  • 做网站是怎么回事2021年最为成功的营销案例
  • 青苹果网站建设恢复正常百度
  • 提高网站排名怎么做谷歌推广费用多少
  • 墨刀做网站百度搜索引擎的优缺点
  • 卖线面网站优化防疫措施
  • wordpress建网站教程百度推广登录入口官网网
  • 用frontpage做网站什么是互联网销售
  • 什么是网上商店seo文章是什么意思
  • 网站开发职责网站建设全网营销
  • 做内容网站朋友圈广告投放平台
  • web程序设计asp.net实用网站开发答案百度站长平台提交网站
  • 简约型网站设计搜索引擎营销的优缺点
  • 哪里找做鸭子的网站淘宝seo 优化软件
  • cc域名做网站怎么样线上广告投放渠道
  • ps软件下载电脑版免费网站产品怎么优化
  • 重庆时时彩网站怎么做搜索引擎优化的内容有哪些
  • 上海兼职做网站网络整合营销策划书
  • 赶集网网站建设费用互联网营销模式有哪些
  • 网站开发融资网络营销推广平台
  • 黑龙江省建设网站太原seo快速排名怎么样
  • 长沙做网站seo公司关键词优化一年的收费标准
  • 建站公司见客户没话说百度收录权重
  • 给网站做压力测试搜索引擎营销的典型案例
  • 创业 做网站广告传媒公司
  • 明会红网站创建网站的软件