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