/// <summary> /// 解析透传对象扩展 /// </summary> /// <param name="jT808_JTActiveSafety_0X0900_USBMessage"></param> /// <param name="jT808_JTActiveSafety_0X0900_Type"></param> public static void ParseObject(this JT808_JTActiveSafety_0x0900_USBMessage jT808_JTActiveSafety_0X0900_USBMessage, JT808_JTActiveSafety_0x0900_Type jT808_JTActiveSafety_0X0900_Type) { switch (jT808_JTActiveSafety_0X0900_Type) { case JT808_JTActiveSafety_0x0900_Type.QueryState: JT808MessagePackReader QueryStateMessagePackReader = new JT808MessagePackReader(jT808_JTActiveSafety_0X0900_USBMessage.MessageContent); jT808_JTActiveSafety_0X0900_USBMessage.MessageContentObejct = JT808_JTActiveSafety_0x0900_USB_0xF7.Instance.Deserialize(ref QueryStateMessagePackReader, null); break; case JT808_JTActiveSafety_0x0900_Type.QueryInfomation: JT808MessagePackReader QueryInfomationMessagePackReader = new JT808MessagePackReader(jT808_JTActiveSafety_0X0900_USBMessage.MessageContent); jT808_JTActiveSafety_0X0900_USBMessage.MessageContentObejct = JT808_JTActiveSafety_0x0900_USB_0xF7.Instance.Deserialize(ref QueryInfomationMessagePackReader, null); break; } }
public JT808_JTActiveSafety_0x0900 Deserialize(ref JT808MessagePackReader reader, IJT808Config config) { JT808_JTActiveSafety_0x0900 jT808_JTActiveSafety_0X0900 = new JT808_JTActiveSafety_0x0900(); jT808_JTActiveSafety_0X0900.USBMessageCount = reader.ReadByte(); if (jT808_JTActiveSafety_0X0900.USBMessageCount > 0) { jT808_JTActiveSafety_0X0900.USBMessages = new List <JT808_JTActiveSafety_0x0900_USBMessage>(); for (int i = 0; i < jT808_JTActiveSafety_0X0900.USBMessageCount; i++) { JT808_JTActiveSafety_0x0900_USBMessage jT808_JTActiveSafety_0X0900_USBMessage = new JT808_JTActiveSafety_0x0900_USBMessage(); jT808_JTActiveSafety_0X0900_USBMessage.USBID = reader.ReadByte(); jT808_JTActiveSafety_0X0900_USBMessage.MessageLength = reader.ReadByte(); jT808_JTActiveSafety_0X0900_USBMessage.MessageContent = reader.ReadArray(jT808_JTActiveSafety_0X0900_USBMessage.MessageLength).ToArray(); jT808_JTActiveSafety_0X0900.USBMessages.Add(jT808_JTActiveSafety_0X0900_USBMessage); } } return(jT808_JTActiveSafety_0X0900); }