public override int GetHashCode() { unchecked { var hashCode = TaskId; hashCode = (hashCode * 397) ^ (Content != null ? Content.GetHashCode() : 0); hashCode = (hashCode * 397) ^ CreateTime.GetHashCode(); hashCode = (hashCode * 397) ^ StartTime.GetHashCode(); hashCode = (hashCode * 397) ^ (int)Priority; hashCode = (hashCode * 397) ^ (int)Urgency; hashCode = (hashCode * 397) ^ (int)Status; hashCode = (hashCode * 397) ^ EstimatedDuration; hashCode = (hashCode * 397) ^ EndTime.GetHashCode(); hashCode = (hashCode * 397) ^ (Memos != null ? Memos.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (Tags != null ? Tags.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ParentTaskId.GetHashCode()); hashCode = (hashCode * 397) ^ (PreTaskIds != null ? PreTaskIds.GetHashCode() : 0); return(hashCode); } }