dotnet 委托delegate的使用 定义和使用
void Main()
{
// 委托 - 初级和高级的分水岭
// 1. 委托的初体验
// 委托是一个引用类型,其实是一个类型,保存方法的指针(地址) (变量名字都是地址 都是指针)
// 是一个数据类型 实际是一个对象(委托对象,函数对象,列表对象) 万物都是对象
// 指针指向一个方法 当我们调用委托的时候这个方法就立即被执行
// string int bool 可以是值类型 delegate object list 都是引用类型
// 委托是和类一个级别的 // 步骤
// 1. 声明一个委托 testDelegate
// 2. 声明要给方法 HellowDelegate
// 3. 创建委托实列 就是把 1 和 2 建立关系(1和2的参数和返回值要一致) // 定义好委托 如何使用? new 叫做 创建委托实例
// 委托把 变量 testDelegate 和 方法 HellowDelegate 建立关系,也就是指针和别名(变量)的关系
// 此时 testDelegate 也是一个指向 方法 HellowDelegate 的指针。 //testDelegate testDe = new testDelegate((a) => { }); // a 是参数
testDelegate testDelegate = new testDelegate(HellowDelegate); // a 是参数
testDelegate("我是一个委托调用"); // 明明可以直接调用方法 HellowDelegate 为什么要使用委托这个中间商
HellowDelegate("直接调用方法,为什么还要使用委托"); // 为什么使用委托这个中间商,直接调用方法不行吗??
// 在复杂业务上,把委托当作参数处理代码,把一部分代码独立出来(把需要公共的代码业务放到委托里面去实现,让代码更加简洁)。灵活使用。 }
// 定义一个委托 ps:和类同一个级别
delegate void testDelegate(string msg);
// 定义一个方法 -- 当作委托的参数
// 必须是 static 形式的方法???
public static void HellowDelegate(string a)
{
Console.WriteLine($"test{a}");
}
dotnet 委托delegate的使用 定义和使用的更多相关文章
- [C#] C# 知识回顾 - 委托 delegate
C# 知识回顾 - 委托 delegate [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6031892.html 目录 What's 委托 委托的属性 ...
- C# 委托Delegate(一) 基础介绍&用法
本文是根据书本&网络 前人总结的. 1. 前言 定义&介绍: 委托Delegate是一个类,定义了方法的类型, 使得可以将方法当做另一个方法的参数来进行传递,这种将方法动态地赋给参数的 ...
- C#基础知识六之委托(delegate、Action、Func、predicate)
1. 什么是委托 官方解释 委托是定义方法签名的类型,当实例化委托时,您可以将其实例化与任何具有兼容签名的方法想关联,可以通过委托实例调用方法. 个人理解 委托通俗一点说就是把一件事情交给别人来帮助完 ...
- 委托Delegate,多播委托和委托链
定义一个委托 public delegate void CalculateDelegate(int 32 x,int 32 y); 定义一个委托类型的变量 public static Calculat ...
- 为什么不能把委托(delegate)放在一个接口(interface)当中?
stackoverflow上有人问,为什么不能把委托放在一个接口当中? 投票最多的第一个答案第一句话说,“A Delegate is just another type, so you don't g ...
- C# 代理/委托 Delegate
本文转载自努力,努力,努力 1. 委托的定义:委托是函数的封装,它代表一"类"函数.他们都符合一定的签名:拥有相同的参数列表,返回值类型.同时,委托也可以看成是对函数的抽象,是函数 ...
- c# 委托 delegate
委托是一种存储函数引用的类型,在事件和事件的处理时有重要的用途 通俗的说,委托是一个可以引用方法的类型,当创建一个委托,也就创建一个引用方法的变量,进而就可以调用那个方法,即委托可以调用它所指的方法. ...
- 理解委托(delegate)及为什么要使用委托
理解委托(delegate)及为什么要使用委托 委托:是一种定义方法签名的类型. 当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联. 您可以通过委托实例调用方法. 上述为官方说法,理解起来 ...
- 深入理解委托(Delegate)
前言 委托其实一直以来都感觉自己应该挺熟悉的,直到最近又去翻了翻 CLR via C#,感觉我之前的理解可能还有失偏颇.在这记录一下. 之前文章的链接: 接口和委托的泛型可变性 C#高级编程笔记 De ...
- .Net 委托 delegate 学习
一.什么是委托: 委托是寻址方法的.NET版本,使用委托可以将方法作为参数进行传递.委托是一种特殊类型的对象,其特殊之处在于委托中包含的只是一个活多个方法的地址,而不是数据. 二.使用委托: 关键 ...
随机推荐
- 使用Cython调用CUDA Kernel函数
技术背景 前面写过一篇关于Cython和C语言混合编程的文章,在Cython中可以使用非常Pythonic的方法去调用C语言中的函数.另外我们也曾在文章中介绍过Python中使用CUDA计算的一种方案 ...
- 5、SpringMVC之域对象共享数据
5.1.域对象简介 请求域(request):一次请求范围内有效 会话域(session):一次会话范围内有效 应用域(application):整个应用范围内有效 5.2.环境搭建 5.2.1.右击 ...
- 对国内的人行机器人(humanoid)的一些技术类的提问?
贵公司产品在机器人仿真时具体采用的仿真软件(NVIDIA家的.开源的webot,等等)是哪款,如果没有使用NVIDIA全家桶那么其原因是什么(如:技术依赖没有独立技术.技术栈太过于复杂暂时没有精力和能 ...
- 灵巧度最高的机械手 —— Clone公司
地址: https://www.youtube.com/watch?v=ikrDqfnZNLU Clone 公司: 生产通过液压驱动的仿生机器人.
- 机器人操作系统ROS (学习视频)—— 学习ROS,安装Ubuntu,虚拟机和双系统如何选择
分享一个ROS入门视频: https://www.bilibili.com/video/BV1BP4y1o7pw/
- 【转载】 PID算法的解析
原文来自DF创客社区地址:http://www.dfrobot.com.cn/community/thread-14783-1-1.html ----------------------------- ...
- 几乎纯css实现弹出框
今天需要做一个弹出框,右下角提示的那种 ,看了一两个jquery的插件 总是不太满意 .一方面js内容太多,另一方面 不太好配合已经存在的样式使用.所以 就自己用css直接实现了下 效果还可以 . 上 ...
- Digest Auth 摘要认证
1.该代码展示了使用Apache HttpClient库进行HTTP请求,并处理基于MD5的HTTP Digest认证的过程. Digests类实现了MD5加密算法,HttpUtils类处理了GET. ...
- 2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)
2024 睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛) 前言 补题只补了前四道,第五题打个暴力都有 \(24\) 分,我这死活只有 \(22\) 分 \(QAQ\) RC-u1 大家一起查 ...
- [nRF24L01+] 4. 增强型ShockBurst
4. 增强型ShockBurst 增强型的ShockBurst是一个数据链路层,具有自动数据包组装和数据包的发送.定时.自动确认和重传.这些特性能够显著提高双向和单向系统的能效,而不会增加主机控制器侧 ...