一、什么是委托
委托是一种类型安全的函数指针,它定义了方法的签名(返回值类型 + 参数列表),可以持有符合该签名的一个或多个方法的引用,并在需要时调用它们。
// 定义委托
public delegate int Calculate(int a, int b);
// 符合签名的方法
public static int Add(int a, int b) => a + b;
public static int Subtract(int a, int b) => a - b;
// 使用
Calculate calc = Add;
int result = calc(3, 5); // result = 8
calc = Subtract;
result = calc(10, 3); // result = 7
核心特征:
-
类型安全:编译器检查方法签名是否匹配
-
可以指向静态方法、实例方法、匿名方法、Lambda 表达式
-
支持多播(Multicast),即一个委托变量可以绑定多个方法
-
本质是
System.MulticastDelegate的子类,继承自System.Delegate
二、委托的演进:从自定义到内置
1. 自定义委托
public delegate void Lo

订阅专栏 解锁全文
完全指南:从基础到实战&spm=1001.2101.3001.5002&articleId=163967749&d=1&t=3&u=fe044346c72d4ec3a1e174fb3fc4e6a4)
829

被折叠的 条评论
为什么被折叠?



