/// <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> public override int GetHashCode() { unchecked { int hashCode = (int)Options; hashCode = (hashCode * 397) ^ (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ CalendarSystem.GetHashCode(); hashCode = (hashCode * 397) ^ DateTimeZone.GetHashCode(); hashCode = (hashCode * 397) ^ (int)Day; hashCode = (hashCode * 397) ^ (int)FirstDayOfWeek; hashCode = (hashCode * 397) ^ (int)Hour; hashCode = (hashCode * 397) ^ MinimumGap.GetHashCode(); hashCode = (hashCode * 397) ^ Minute.GetHashCode(); hashCode = (hashCode * 397) ^ (int)Month; hashCode = (hashCode * 397) ^ Second.GetHashCode(); hashCode = (hashCode * 397) ^ Week.GetHashCode(); hashCode = (hashCode * 397) ^ (int)WeekDay; return(hashCode); } }