using System; using System.IO.Ports; //SerialPort using System.IO; //Stream namespace SampleSP { class MySerialPort : SerialPort { private static Stream openedBaseStream; public MySerialPort() : base() { openedBaseStream = null; } public new void Open() { base.Open(); openedBaseStream = this.BaseStream; } protected override void Dispose(bool disposing) { try { if (openedBaseStream != null) openedBaseStream.Close(); openedBaseStream = null; } catch (UnauthorizedAccessException) { } base.Dispose(disposing); } } }