namespace Modbus.Device { using System; using IO; using Unme.Common; /// /// Modbus device. /// public abstract class ModbusDevice : IDisposable { private ModbusTransport _transport; internal ModbusDevice(ModbusTransport transport) { _transport = transport; } /// /// Gets the Modbus Transport. /// public ModbusTransport Transport { get { return _transport; } } /// /// Releases unmanaged and - optionally - managed resources. /// public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } /// /// Releases unmanaged and - optionally - managed resources. /// /// /// true to release both managed and unmanaged resources; /// false to release only unmanaged resources. /// protected virtual void Dispose(bool disposing) { if (disposing) { DisposableUtility.Dispose(ref _transport); } } } }