ModbusDevice.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using NModbus.Unme.Common;
  3. namespace NModbus.Device
  4. {
  5. /// <summary>
  6. /// Modbus device.
  7. /// </summary>
  8. public abstract class ModbusDevice : IDisposable
  9. {
  10. private IModbusTransport _transport;
  11. protected ModbusDevice(IModbusTransport transport)
  12. {
  13. _transport = transport;
  14. }
  15. /// <summary>
  16. /// Gets the Modbus Transport.
  17. /// </summary>
  18. public IModbusTransport Transport => _transport;
  19. /// <summary>
  20. /// Releases unmanaged and - optionally - managed resources.
  21. /// </summary>
  22. public void Dispose()
  23. {
  24. Dispose(true);
  25. GC.SuppressFinalize(this);
  26. }
  27. /// <summary>
  28. /// Releases unmanaged and - optionally - managed resources.
  29. /// </summary>
  30. /// <param name="disposing">
  31. /// <c>true</c> to release both managed and unmanaged resources;
  32. /// <c>false</c> to release only unmanaged resources.
  33. /// </param>
  34. protected virtual void Dispose(bool disposing)
  35. {
  36. if (disposing)
  37. {
  38. DisposableUtility.Dispose(ref _transport);
  39. }
  40. }
  41. }
  42. }