ModbusMessageFactory.cs 761 B

123456789101112131415161718192021222324252627
  1. namespace NModbus.Message
  2. {
  3. /// <summary>
  4. /// Modbus message factory.
  5. /// </summary>
  6. public static class ModbusMessageFactory
  7. {
  8. /// <summary>
  9. /// Create a Modbus message.
  10. /// </summary>
  11. /// <typeparam name="T">Modbus message type.</typeparam>
  12. /// <param name="frame">Bytes of Modbus frame.</param>
  13. /// <returns>New Modbus message based on type and frame bytes.</returns>
  14. public static T CreateModbusMessage<T>(byte[] frame)
  15. where T : IModbusMessage, new()
  16. {
  17. //Create the message
  18. T message = new T();
  19. //initialize it
  20. message.Initialize(frame);
  21. //return it
  22. return message;
  23. }
  24. }
  25. }