news 2026/6/13 12:01:59

30、C 委托:从基础到高级应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
30、C 委托:从基础到高级应用

C# 委托:从基础到高级应用

1. 委托概述

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

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

2. 声明委托类型

委托和类一样,都是类型。在使用委托类型创建变量和对象之前,必须先声明它。委托类型的声明类似于方法声明,有返回类型和签名,用于指定委托可以接受的方法形式。

委托类型声明与方法声明有两点不同:
- 以delegate关键字开头。
- 没有方法体。

示例代码如下:

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

委托是引用类型,有引用和对象。声明委托类型后,可以声明变量并创建对象。创建委托对象有两种方式:
- 使用new运算符的对象创建表达式,操作数包括委托类型名和作为调用列表第一个成员的方法名(可以是实例方法或静态方法)。
- 使用快捷语法,即仅使用方法说明符,因为方法名和兼容的委托类型之间存在隐式转换。

示例

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

36、LINQ查询操作全面解析

LINQ查询操作全面解析 1. where 子句 where 子句用于筛选出不符合指定条件的项,使其不再参与后续的查询操作。以下是关于 where 子句的一些关键信息: - 一个查询表达式可以包含任意数量的 where 子句,前提是这些子句位于 from...let...where 部分。 - 一个项必须满足所…

作者头像 李华
网站建设 2026/6/4 16:00:14

LOOT模组排序工具终极指南:彻底解决天际冲突问题

LOOT模组排序工具终极指南:彻底解决天际冲突问题 【免费下载链接】skyrimse The TES V: Skyrim Special Edition masterlist. 项目地址: https://gitcode.com/gh_mirrors/sk/skyrimse LOOT模组排序工具是《上古卷轴V:天际 特别版》玩家的必备神器…

作者头像 李华
网站建设 2026/6/12 6:38:57

Github-LLaMA Factory:百种大语言模型一站式高效微调平台

https://github.com/hiyouga/LLaMA-Factory1. 项目的主要功能和目的LLaMA Factory 是一个功能强大、易于使用的开源框架,旨在简化大型语言模型(LLMs)的微调过程。其核心目标是让研究人员和开发者能够以极低的代码成本(甚至零代码&…

作者头像 李华
网站建设 2026/6/5 22:17:00

大模型微调微调神器——LLaMA-Factory

1. LLaMA-Factory 介绍LLaMA-Factory 是一个开源的大语言模型微调框架,专门为LLaMA系列模型及其他开源大模型提供高效、便捷的微调解决方案。 核心特点: 高效训练:支持QLoRA、LoRA、全参数微调等多种高效微调方法易于使用:提供Web…

作者头像 李华
网站建设 2026/6/10 15:32:21

CopyTranslator:PDF文献翻译效率提升10倍的智能翻译工具

CopyTranslator:PDF文献翻译效率提升10倍的智能翻译工具 【免费下载链接】CopyTranslator 项目地址: https://gitcode.com/gh_mirrors/cop/CopyTranslator CopyTranslator是一款专为科研人员和英文文献阅读者设计的智能翻译软件,能够自动处理PDF…

作者头像 李华