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

C# 委托

基本步骤

(1)定义委托类型,其定义类似方法的定义,只是多了一个delegate;

(2)实例化委托,委托也是属于类类型所以用也用new关键字实例化;

委托的实例化用一个方法名作为参数,并且该方法的定义必须符合委托的定义;

即参数个数、参数类型、返回类型与委托一样

(3)把委托实例化的对象当参数传递给其他方法或直接执行委托(实质就是在执行委托包装的方法);

C#委托可以理解为函数的包装,他可以使方法作为参数来传递给另一个方法

--委托是类类型--委托实例可以调用方法

例:

 1 class HelloWorld
 2    {
 3       //定义委托类型,其定义类似方法的定义,只是多了一个delegate;
 4       delegate void Mydelegate(int a,int b);
 5       static void Main(string[] args)
 6       {
 7          //声明与实例化委托变量
 8          Mydelegate mydelegate=new Mydelegate(new HelloWorld().Add);
 9          //将实例化的对象mydelegate作为参数传递给方法
10          new HelloWorld().Go(mydelegate);
11          Console.ReadKey();
12       }
13       void Add(int a=0,int b=0)
14       {
15           Console.Write("This sum is {0}",a+b);
16       }
17        private void Go(Mydelegate mydelete)
18        {
19            //在方法中调用委托(隐式调用)
20            mydelete(10,20);
21            //(显式调用)委托是类类型 委托实例可以调用方法Invoke方法是委托的内置方法
22            //隐式实质也是调用Invoke方法执行的
23            mydelete.Invoke(10,20);
24            
25        }
26    }

 

结果为:

 

转载于:https://www.cnblogs.com/lbonet/p/6894116.html

相关文章:

  • Tomcat闪退问题
  • left outer join的on不起作用
  • 提高网页打开速度的小技巧【赞】
  • MySQL desc作用
  • 遍历 目录的几种有效办法
  • Nginx Http框架的理解
  • Device eth0 does not seem to be present,delaying initialization
  • Bzoj4488 [Jsoi2015]最大公约数
  • 开源 java CMS - FreeCMS2.6 会员管理
  • C#下RSA算法的实现(适用于支付宝和易宝支付)
  • 监控与管理dubbo服务
  • OC中的@的作用研究
  • Haskell:什么时候该注释,什么时候不该注释
  • DeepMind 开源 Sonnet:在 TensorFlow 中快速构建神经网络
  • 【转载】使用缓存的9大误区(下)
  • conda常用的命令
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • python 装饰器(一)
  • webgl (原生)基础入门指南【一】
  • 大整数乘法-表格法
  • 工作手记之html2canvas使用概述
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 后端_MYSQL
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 两列自适应布局方案整理
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • $$$$GB2312-80区位编码表$$$$
  • $(function(){})与(function($){....})(jQuery)的区别
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)Android开发优化---------UI优化
  • (ZT)薛涌:谈贫说富
  • (阿里云万网)-域名注册购买实名流程
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)Windows2003安全设置/维护
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .Net开发笔记(二十)创建一个需要授权的第三方组件
  • .sdf和.msp文件读取
  • .so文件(linux系统)
  • ??eclipse的安装配置问题!??
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [2544]最短路 (两种算法)(HDU)
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [Assignment] C++1
  • [IE技巧] 让IE 以全屏模式启动
  • [LeetCode]-Pascal's Triangle III 杨辉三角问题
  • [one_demo_6]逆置整数
  • [python] `sys.settrace` 跟踪函数
  • [Python] scikit-learn之mean_squared_error函数(Mean Squared Error(MSE))介绍和使用案例
  • [Sdoi2010]地精部落