using System; using NModbus.Unme.Common; namespace NModbus.Device { /// /// Modbus device. /// public abstract class ModbusDevice : IDisposable { private IModbusTransport _transport; protected ModbusDevice(IModbusTransport transport) { _transport = transport; } /// /// Gets the Modbus Transport. /// public IModbusTransport Transport => _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); } } } }