protected override BaseBlock ConvertToBaseBlock(bool reverseByteOrder, Action <Exception> ActionOnException) { List <byte> body = new List <byte>(); body.AddRange(BitConverter.GetBytes(InterfaceID.ReverseByteOrder(reverseByteOrder))); body.AddRange(Timestamp.ConvertToByte(reverseByteOrder)); body.AddRange(Options.ConvertToByte(reverseByteOrder, ActionOnException)); BaseBlock baseBlock = new BaseBlock(this.BlockType, body.ToArray(), reverseByteOrder, 0); return(baseBlock); }
protected override BaseBlock ConvertToBaseBlock(bool reverseByteOrder, Action <Exception> ActionOnException) { List <byte> body = new List <byte>(); body.AddRange(BitConverter.GetBytes(InterfaceID.ReverseByteOrder(reverseByteOrder))); body.AddRange(Timestamp.ConvertToByte(reverseByteOrder)); body.AddRange(BitConverter.GetBytes(Data.Length.ReverseByteOrder(reverseByteOrder))); body.AddRange(BitConverter.GetBytes(PacketLength.ReverseByteOrder(reverseByteOrder))); body.AddRange(Data); int remainderLength = (BaseBlock.AlignmentBoundary - Data.Length % BaseBlock.AlignmentBoundary) % BaseBlock.AlignmentBoundary; for (int i = 0; i < remainderLength; i++) { body.Add(0); } body.AddRange(Options.ConvertToByte(reverseByteOrder, ActionOnException)); BaseBlock baseBlock = new BaseBlock(this.BlockType, body.ToArray(), reverseByteOrder, 0); return(baseBlock); }