Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
|
- using System;
-
- namespace MQTTnet.Core.Packets
- {
- public static class MqttPacketExtensions
- {
- public static TResponsePacket CreateResponse<TResponsePacket>(this MqttBasePacket packet)
- {
- if (packet == null) throw new ArgumentNullException(nameof(packet));
-
- var responsePacket = Activator.CreateInstance<TResponsePacket>();
-
- if (responsePacket is IMqttPacketWithIdentifier responsePacketWithIdentifier)
- {
- var requestPacketWithIdentifier = packet as IMqttPacketWithIdentifier;
- if (requestPacketWithIdentifier == null)
- {
- throw new InvalidOperationException("Response packet has PacketIdentifier but request packet does not.");
- }
-
- responsePacketWithIdentifier.PacketIdentifier = requestPacketWithIdentifier.PacketIdentifier;
- }
-
- return responsePacket;
- }
- }
- }
|