用C#自訂事件簡單作法
(1) 在自訂類別中宣告委派與事件
public class ClassName
{
//宣告委派
delegate void EventPrototype(object sender, EventArgs e);
//宣告事件
public event EventPrototype eventName;
}
(2)設定事件觸發位置
public class ClassName
{
//宣告委派
delegate void EventPrototype(object sender, EventArgs e);
//宣告事件
public event EventPrototype eventName;
//自訂方法
void function(){
//宣告object Type變數
object obj = new object();
//在類別中未註冊事件時,可避免觸發時的null錯誤
//事件名稱?.Invoke(事件參數);
eventName?.Invoke(obj,new EventArgs());
}
}
(3)在實際使用class中註冊事件
//實體化類別
ClassName obj = new ClassName();
//註冊事件,定義當事件觸發時要處裡事件的函式
obj.eventName += new ClassName.EventPrototype(functionName);
private void functionName(object sender, EventArgs e)
{
//當觸發事件時要處理的函式
}