news 2026/2/26 21:32:49

39、深入理解C委托:从基础到高级应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
39、深入理解C委托:从基础到高级应用

深入理解C#委托:从基础到高级应用

1. 委托的基本概念

委托可以被看作是一个包含具有相同签名和返回类型的方法有序列表的对象。这个方法列表被称为调用列表。当调用委托时,它会依次调用调用列表中的每个方法。

与C++中的函数指针类似,只有一个方法的委托与之有相似之处,但委托是面向对象且类型安全的。委托持有的方法可以来自任何类或结构体,只要这些方法与委托的返回类型和签名(包括refout修饰符)相匹配。调用列表中的方法可以是实例方法或静态方法。

2. 声明委托类型

委托和类一样,都是类型。在使用委托类型创建变量和对象之前,必须先声明它。委托类型的声明类似于方法声明,有返回类型和签名,用于指定委托能接受的方法形式。与方法声明不同的是,委托类型声明以delegate关键字开头,并且没有方法体。

示例代码如下:

delegate void MyDel ( int x );
3. 创建委托对象

委托是引用类型,有引用和对象。创建委托对象有两种方式。第一种是使用new运算符的对象创建表达式,其操作数包括委托类型名和括号内作为调用列表第一个成员的方法名,该方法可以是实例方法或静态方法。第二种是使用快捷语法,仅包含方法说明符,这两种方法是等效的,因为方法名和兼容的委托类型之间存在隐式转换。

示例代码:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/10 6:13:49

OpenAPI-GUI:可视化API设计终极指南

在API开发领域,OpenAPI规范已成为行业标准,但传统的文本编辑方式往往让开发者头疼不已。OpenAPI-GUI作为一款免费开源的图形化工具,彻底改变了这一现状,让API设计变得简单直观。 【免费下载链接】openapi-gui GUI / visual editor…

作者头像 李华
网站建设 2026/2/24 9:59:31

44、LINQ 入门指南

LINQ 入门指南 1. 匿名类型 在深入学习 LINQ 的查询功能之前,我们先了解一下 C# 3.0 的一个特性——匿名类型。匿名类型允许我们创建未命名的类类型。 在创建对象时,我们通常使用对象初始化器来初始化新类实例的字段和属性。对象创建表达式由三个部分组成: new 关键字、…

作者头像 李华
网站建设 2026/2/22 4:46:05

48、.NET 中的属性:预定义、自定义与使用方法

.NET 中的属性:预定义、自定义与使用方法 1. 预定义、保留属性 在定义自己的属性之前,先来了解 .NET 预定义和保留的两个属性: Obsolete 和 Conditional 属性。 1.1 Obsolete 属性 Obsolete 属性允许你将程序构造标记为过时,并在编译代码时显示有用的警告消息。…

作者头像 李华
网站建设 2026/2/24 17:56:12

快速上手Malware-Bazaar:免费恶意软件样本下载全攻略

快速上手Malware-Bazaar:免费恶意软件样本下载全攻略 【免费下载链接】malware-bazaar Python scripts for Malware Bazaar 项目地址: https://gitcode.com/gh_mirrors/ma/malware-bazaar Malware-Bazaar是由abuse.ch运营的一个恶意软件分析平台,…

作者头像 李华
网站建设 2026/2/23 12:26:45

终极Mac窗口管理方案:Easy Move Resize使用完全指南

终极Mac窗口管理方案:Easy Move & Resize使用完全指南 【免费下载链接】easy-move-resize Adds "modifier key mouse drag" move and resize to OSX 项目地址: https://gitcode.com/gh_mirrors/ea/easy-move-resize 在Mac上管理多个窗口时&am…

作者头像 李华
网站建设 2026/2/26 14:28:19

26、C 编程中的结构体与 .NET 框架基础

C# 编程中的结构体与 .NET 框架基础 1. 结构体的构造函数与析构函数 1.1 实例构造函数 结构体可以有实例构造函数和静态构造函数,但不允许有析构函数。对于每个结构体,系统会隐式提供一个无参数的构造函数,该构造函数会将结构体的每个成员设置为其类型的默认值,值类型成…

作者头像 李华