Event là hành động của người dùng (click, key press...) hoặc thông báo hệ thống. Event được khai báo và kích hoạt (raise) trong một class, liên kết với event handler qua delegate.
Các bước khai báo event:
- Khai báo kiểu delegate cho event.
- Khai báo event với từ khóa
event. - Kích hoạt (raise) event khi cần.
- Đăng ký (subscribe) handler với
+=.
Ví dụ:
// 1. Delegate type
public delegate string MyDelegate(string str);
// 2. Event declaration
event MyDelegate NewEvent;
// 3. Raise event
string result = NewEvent("My Website!");
Ví dụ hoàn chỉnh
using System;
namespace Demo
{
public delegate string MyDelegate(string str);
class EventProgram
{
event MyDelegate NewEvent;
public EventProgram()
{
this.NewEvent += new MyDelegate(this.WelcomeUser);
}
public string WelcomeUser(string username)
{
return "Welcome " + username;
}
static void Main(string[] args)
{
EventProgram obj1 = new EventProgram();
string result = obj1.NewEvent("My Website!");
Console.WriteLine(result);
}
}
}
Kết quả
Welcome My Website!
Pattern chuẩn: Dùng EventHandler / EventHandler<TEventArgs> và tuân thủ .NET event pattern (sender, e).