private void DataReceived(object sender, SerialDataReceivedEventArgs e) { // event oocurs on receiving data from ID card if (!(sender is SerialPort port)) { return; } // read line by line while (port.BytesToRead > 0) { var c = (char)port.ReadChar(); if (c == '\n') { var s = _buffer.ToString(); // raise event if uid found if (s.StartsWith("UID:")) { UidReceived?.Invoke(sender, s.Substring(4).Trim()); } _buffer.Clear(); continue; } _buffer.Append(c); } }
public static void SetUidReceivedDelegate(UidReceived ur) { uidReceived = ur; }