子類別內
當設計一個子類別,去處理UART、Serial、TCP、UDP、HTTP、MQTT等部分的Receive時。
如何設計一個事件、當上述事件的callback收到時,主動callback給呼叫class者
讓呼叫者去接收處理這些資訊的方法
請參考如下
在子類別內新增事件Handler
//新增一個Handler,會幫忙傳送message public delegate void ReceiveMessageEventHandler(string message);
//新增一個事件的實例ReceiveMessageNotify=>用於觸發這個事件用 //根據Handler、可以帶入參數message public event ReceiveMessageEventHandler ReceiveMessageNotify;
在子類別內,需要觸發這個事件的地方呼叫
/* * 觸發事件,傳入msg到message事件 */ ReceiveMessageNotify(msg);
主類別內
在主類別內,註冊這個Handler
//註冊ReceiveMessageNotify事件Handler由mqttReveiveMessagec函數處理 //內容帶著message mqtt.ReceiveMessageNotify += new CHT_MQTT.ReceiveMessageEventHandler(mqttReveiveMessage);
在主類別內,實作mqttReveiveMessage這個函數
void mqttReveiveMessage(string message) { Debug.WriteLine("===mqttReveiveMessage==="); Debug.WriteLine("msg\r\n" + message); }