/// <summary> /// This method is used to convert the element of ExGuid basic object into a byte List. /// </summary> /// <returns>Return the byte list which store the byte information of ExGuid.</returns> public override List <byte> SerializeToByteList() { BitWriter bitWriter = new BitWriter(21); if (this.GUID == Guid.Empty) { bitWriter.AppendUInit32(0, 8); } else if (this.Value >= 0x00 && this.Value <= 0x1F) { bitWriter.AppendUInit32(ExtendedGUID5BitUintType, 3); bitWriter.AppendUInit32(this.Value, 5); bitWriter.AppendGUID(this.GUID); } else if (this.Value >= 0x20 && this.Value <= 0x3FF) { bitWriter.AppendUInit32(ExtendedGUID10BitUintType, 6); bitWriter.AppendUInit32(this.Value, 10); bitWriter.AppendGUID(this.GUID); } else if (this.Value >= 0x400 && this.Value <= 0x1FFFF) { bitWriter.AppendUInit32(ExtendedGUID17BitUintType, 7); bitWriter.AppendUInit32(this.Value, 17); bitWriter.AppendGUID(this.GUID); } else if (this.Value >= 0x20000 && this.Value <= 0xFFFFFFFF) { bitWriter.AppendUInit32(ExtendedGUID32BitUintType, 8); bitWriter.AppendUInit32(this.Value, 32); bitWriter.AppendGUID(this.GUID); } return(new List <byte>(bitWriter.Bytes)); }
/// <summary> /// This method is used to convert the element of SerialNumber basic object into a byte List. /// </summary> /// <returns>Return the byte list which store the byte information of SerialNumber.</returns> public override List <byte> SerializeToByteList() { BitWriter bitWriter = null; if (this.GUID == Guid.Empty) { bitWriter = new BitWriter(1); bitWriter.AppendUInit32(0, 8); } else { bitWriter = new BitWriter(25); bitWriter.AppendUInit32(128, 8); bitWriter.AppendGUID(this.GUID); bitWriter.AppendUInt64(this.Value, 64); } return(new List <byte>(bitWriter.Bytes)); }