public static void ParsePayload(this System.Byte[] payload, out MessageAck ackCode, out Message[] infoDataArray) { System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(payload); System.IO.BinaryReader binaryReader = new System.IO.BinaryReader(memoryStream); ackCode = ((MessageAck)(binaryReader.ReadInt32())); if (binaryReader.ReadBoolean() == true) { infoDataArray = new Message[binaryReader.ReadInt32()]; for (int i0 = 0; (i0 < infoDataArray.Length); i0 = (i0 + 1)) { if ((binaryReader.ReadBoolean() == true)) { MessageRespPayload.BinaryReader(binaryReader, out infoDataArray[i0]); } else { infoDataArray[i0] = default(Message); } } } else { infoDataArray = default(Message[]); } binaryReader.Close(); memoryStream.Close(); }