public override int GetHashCode() { unchecked { var hashCode = _logger.GetHashCode(); hashCode = (hashCode * 397) ^ StagingPercentage.GetHashCode(); hashCode = (hashCode * 397) ^ (Tag != null ? Tag.GetHashCode() : 0); hashCode = (hashCode * 397) ^ SHA256.GetHashCode(); hashCode = (hashCode * 397) ^ Filename.GetHashCode(); hashCode = (hashCode * 397) ^ Filesize.GetHashCode(); hashCode = (hashCode * 397) ^ IsDelta.GetHashCode(); hashCode = (hashCode * 397) ^ Version.GetHashCode(); hashCode = (hashCode * 397) ^ (OldVersion != null ? OldVersion.GetHashCode() : 0); hashCode = (hashCode * 397) ^ FileLocation.GetHashCode(); return(hashCode); } }