public override void WriteData(CitpBinaryWriter data) { base.WriteData(data); data.Write((byte)LibraryType); if (MsexVersion < CitpMsexVersions.Msex11Version) { data.Write(LibraryNumber); } else { data.WriteMsexLibraryId(LibraryId); } data.Write((byte)UpdateFlags); if (MsexVersion >= CitpMsexVersions.Msex12Version) { byte[] elementsData = new byte[32]; AffectedElements.CopyTo(elementsData, 0); data.Write(elementsData); byte[] libraryData = new byte[32]; AffectedLibraries.CopyTo(libraryData, 0); data.Write(libraryData); } }
public override int GetHashCode() { unchecked { int hashCode = (int)LibraryType; hashCode = (hashCode * 397) ^ LibraryNumber.GetHashCode(); hashCode = (hashCode * 397) ^ LibraryId.GetHashCode(); hashCode = (hashCode * 397) ^ (int)UpdateFlags; hashCode = (hashCode * 397) ^ (AffectedElements?.GetHashCode() ?? 0); hashCode = (hashCode * 397) ^ (AffectedLibraries?.GetHashCode() ?? 0); return(hashCode); } }