อีเวนต์ผู้ประกาศและผู้ติดตาม
แจ้งผู้ติดตามเมื่อคำสั่งซื้อเปลี่ยน
ทำงานอย่างไร
อีเวนต์เปิดให้ติดตามได้ แต่สงวนการประกาศไว้ให้คลาสเจ้าของ
การเรียกแบบ null-conditional ไม่ทำอะไรอย่างปลอดภัยเมื่ออีเวนต์ไม่มีผู้ติดตาม
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
class Order
{
public event EventHandler<string>? StatusChanged;
public void Update(string status) => StatusChanged?.Invoke(this, status);
}
class Program
{
static void Main()
{
var order = new Order();
order.StatusChanged += (_, status) => Console.WriteLine(status);
order.Update("Shipped");
}
}
Shippedฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- ผู้ติดตามอีเวนต์ ส่งอีเวนต์ไปยังผู้ติดตามของแต่ละหัวข้อแบบ observer แล้วนับว่าแต่ละคนได้รับกี่ครั้ง ง่าย