public static string ReadSerialNumber(string port) { string serialNumber = string.Empty; if (port == string.Empty) { throw new ArgumentException("port empty"); } AdapterProtocol ap = null; try { ap = new AdapterProtocol(port); ap.Open(); ap.Clear(); byte[] ser = ap.ReadSerialNumber(); if (ser.Length == 0) { serialNumber = "NONE"; } else { serialNumber = Encoding.ASCII.GetString(ser); } } catch (Exception) { throw; } finally { try { if (ap != null) { ap.Close(); } } catch (System.IO.IOException ex) { Logger.Warn("could not close serial port: {0}", ex.Message); } } return(serialNumber); }