第4章 - 委托与事件
嗨,朋友!我是长安。
委托和事件是 C# 中实现回调和事件驱动编程的核心机制。
🤔 什么是委托?
委托是一种类型,表示对方法的引用,类似于C++中的函数指针。
// 定义委托
delegate void MyDelegate(string message);
// 定义方法
static void ShowMessage(string msg)
{
Console.WriteLine(msg);
}
// 使用委托
MyDelegate del = ShowMessage;
del("Hello!"); // 调用方法
🎯 事件
事件是基于委托的,用于实现发布-订阅模式。
class Button
{
// 定义事件
public event EventHandler Clicked;
public void Click()
{
Clicked?.Invoke(this, EventArgs.Empty);
}
}
// 使用
Button btn = new Button();
btn.Clicked += (sender, e) => Console.WriteLine("按钮被点击了!");
btn.Click();
📝 本章小结
- 委托是对方法的引用
- 事件基于委托实现
- 用于回调和事件驱动编程
+=订阅事件,-=取消订阅
