// The method which fires the Event private void OnUSB_CDC_DataReceived_EventSendOut(USB_CDC_DataReceived_EventSendOut e) { if (USB_CDC_DataReceived_EventSendOut != null) { USB_CDC_DataReceived_EventSendOut(this, e); // 觸發USB_CDC_DataReceived_EventSendOut 事件 } }
//// The method that implements the delegated functionality //事件處理方法 private void Communication_ReceivedDataFunction(Object sender, EventArgs e) { // 判斷物件是否為 SerialPort_EventArgsClass_DataReceived 實體 if (e is SerialPort_EventArgsClass_DataReceived) { // 將物件由 EventArgs 轉型 SerialPortClass_DataReceivedEventArgs SerialPort_EventArgsClass_DataReceived DataReceivedClass = e as SerialPort_EventArgsClass_DataReceived; //form1.SetText("L1 receivind data 1" + Environment.NewLine); //form1.SetText(HM_Utilitys.ByteArrayToHexString(DataReceivedClass.ReceivedBuffer) + Environment.NewLine); byte ReceivedCommand; byte[] decoding_Parameter; bool is_found = USB_CDC_Packet_Forming_and_Decoding.CMD_Decoding_For_Receiving(DataReceivedClass.ReceivedBuffer, out ReceivedCommand, out decoding_Parameter); if (is_found) { //form1.SetText("L1 receivind data 2" + Environment.NewLine); //form1.SetText(HM_Utilitys.ByteArrayToHexString(decoding_Parameter) + Environment.NewLine); USB_CDC_DataReceived_EventSendOut receivedEvent = new USB_CDC_DataReceived_EventSendOut(ReceivedCommand, decoding_Parameter); OnUSB_CDC_DataReceived_EventSendOut(receivedEvent); } } }