/// <summary> /// Returns a hash code for this instance. /// </summary> /// <returns>A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.</returns> /// <inheritdoc /> public override int GetHashCode() { unchecked { var hashCode = FileName != null?FileName.GetHashCode() : 0; hashCode = (hashCode * 397) ^ (int)FileSize; hashCode = (hashCode * 397) ^ ImageBase.GetHashCode(); hashCode = (hashCode * 397) ^ IsManaged.GetHashCode(); hashCode = (hashCode * 397) ^ IsRuntime.GetHashCode(); hashCode = (hashCode * 397) ^ (Pdb != null ? Pdb.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (PeFile != null ? PeFile.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (int)TimeStamp; hashCode = (hashCode * 397) ^ Version.GetHashCode(); return(hashCode); } }