Event (เหตุการณ์) คือการกระทำของผู้ใช้ เช่น กดปุ่ม คลิก เคลื่อนเมาส์ หรือการแจ้งเตือนจากระบบ
Event ถูกประกาศและ raise ในคลาส และเชื่อมโยงกับ event handlers ผ่าน delegate ภายในคลาสเดียวกันหรือคลาสอื่น คลาสที่มี event ใช้เผยแพร่ (publish) event
ขั้นตอนการประกาศ
- ประกาศ delegate type สำหรับ event:
public delegate string myDelegate(string str);
- ประกาศ event:
event myDelegate newEvent;
ตัวอย่างเต็ม
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);
}
}
}
ผลลัพธ์
Welcome My Website!