/// <summary> /// 輸出 /// </summary> /// <param name="message">用來傳給事件的訊息參數</param> public void ConsoleOutput(string message) { //建立自訂事件參數類別 EventArgsSample args = new EventArgsSample(message); // 呼叫發送事件Method // 傳入自訂事件參數 SendConsoleEvent(args); }
/// <summary> /// 負責發送事件 /// </summary> /// <param name="args">事件參數</param> protected virtual void SendConsoleEvent(EventArgsSample args) { // 方法一: 呼叫定義事件成員物件 // ConsoleEvent(this, args); // 方法二: 定義一個臨時的參考變數,這樣可以確保多執行緒呼叫時不會發生問題 EventHandler <EventArgsSample> temp = ConsoleEvent; if (temp != null) { temp(this, args); } }