【C# 基础】委托(Delegate)与事件(Event)

本文介绍了C#中的委托和事件。委托是一种类型安全的函数指针,用于实现回调方法和事件。事件则常用于用户操作或系统通知,遵循发布-订阅模型,由发布器声明并触发,订阅器提供事件处理程序。详细内容包括委托的定义、意义和使用,以及事件的概念、原因和应用。
摘要由CSDN通过智能技术生成

一、委托(Delegate)

(一)委托是什么

  • 委托是存储对某个方法进行引用的引用类型变量,该变量可以作为其它方法的参数进行传递。
  • 与C中函数指针的异同:(同)都可以实现以引用的方式对某个方法进行访问和执行。(异)函数指针不是类型安全的,无法得知指针实际指向,也无法得知方法的参数与返回类型。委托是类型安全的,可以清晰得知方法定义的参数和返回类型。
// 派生自 System.Delegate 类
using System;

// 委托声明
// delegate <return type> <delegate-name> <parameter list> 
public delegate int MyDelegateClass(int value);

// 创建委托实例
// 使用 new 关键字创建, Func1 是某方法
MyDelegateClass FuncHandler = new MyDelegateClass(Func1)

(二)委托的意义

  • 实现 事件(Event)回调方法

(三)委托的使用

  • 先定义一个方法
using System;

namespace MyApp
{
   
	class A 
	{
   
		// 定义一个用于委托的方法
		public static int AddNumber(int num1, int num2)
		{
   
			return num1 + num2;
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值