using System;
class Program
{
private EventHandler _myEventHandlers;
// Định nghĩa sự kiện dựa trên delegate EventHandler
public event EventHandler MyEvent
{
add
{
Console.WriteLine("Adding an event handler");
_myEventHandlers += value;
}
remove
{
Console.WriteLine("Removing an event handler");
_myEventHandlers -= value;
}
}
// Phương thức để kích hoạt sự kiện
public void RaiseEvent()
{
_myEventHandlers?.Invoke(this, EventArgs.Empty);
}
static void Main(string[] args)
{
Program program = new Program();
// Thêm sự kiện vào đối tượng
program.MyEvent += DisplayMessage;
// Gọi phương thức để kích hoạt sự kiện
program.RaiseEvent();
// Loại bỏ sự kiện khỏi đối tượng
program.MyEvent -= DisplayMessage;
// Gọi phương thức để kích hoạt sự kiện (sẽ không có phản ứng)
program.RaiseEvent();
Console.ReadKey();
}
// Phương thức xử lý sự kiện
static void DisplayMessage(object sender, EventArgs e)
{
Console.WriteLine("Event received: " + sender);
}
}
Explicit Event add/remove in C#
August 13, 2023
0
Add/Remove là từ khoá trong C# giúp triển khai thêm và xoá sự kiện, mục đích của việc này giúp bạn truy cập được lúc EventHandler thêm và xoá sự kiện thông qua hai hàm add và remove.
Ví dụ dưới dây là một chương trình có chức năng thông báo mỗi khi sự kiện thêm hoặc xoá.
Share to other apps
