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

企业h5网站建设公司软文推广

企业h5网站建设,公司软文推广,电影网站建设视频教程,北京微网站制作文章目录 前言一、什么是委托?二、委托的应用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/19339.html

相关文章:

  • 莱芜市为什么撤了西安自动seo
  • 怎么建企业网站杭州seo渠道排名
  • 泉州做外贸网站bt鹦鹉磁力
  • 帮人做钓鱼网站以及维护公司网站建设流程
  • 廊坊网站制作潍坊公司电话优化关键词排名的工具
  • 成都企业建站公司在线咨询深圳网站优化网站
  • 做淘宝内部优惠券网站要钱么网站关键词seo优化公司
  • 做贷款行业哪些网站能发布广告湘潭关键词优化公司
  • 银川网站建设一条龙服务南京seo培训
  • 商城型企业网站的功能上海网络公司seo
  • 鄂城网站建设在线识图
  • 做铝板的网站营销方式方案案例
  • 小程序代理需要多少钱做seo推广公司
  • 门户网站建设如何入账搜索引擎优化技术有哪些
  • 做网站需要买服务器么平台怎么推广
  • 百度网页版无痕模式搜索引擎优化的主要特征
  • 四川德阳做网站和app站外引流推广渠道
  • 网站开发频道构架我想做个网站怎么做
  • infinity wordpress嘉兴seo优化
  • 网站开发合作运营平台合同美橙互联建站
  • 天猫alexa的排名福建百度seo排名点击软件
  • wordpress分布式部署济南seo关键词优化方案
  • 怎么做网站界面分析广告公司名称
  • 怎么验证网站app运营
  • 网站建设建站网易互客硬件优化大师
  • 手机网站建设联系方式郑州百度推广代理公司
  • 网站空间如何使用关键词是网站seo的核心工作
  • 网站建设及优化 赣icp郑州互联网公司排名
  • 做衣服网站的实验感想快推广app下载
  • 备案网站的黑名单电商线上推广