public static bool Equals(TodoItem item1, TodoItem item2) { if (item1.DocumentId != null && item2.DocumentId != null) { return item1.DocumentId == item2.DocumentId && item1.Priority == item2.Priority && item1.Message == item2.Message && item1.OriginalLine == item2.OriginalLine && item1.OriginalColumn == item2.OriginalColumn; } return item1.DocumentId == item2.DocumentId && item1.Priority == item2.Priority && item1.Message == item2.Message; }
public static int GetHashCode(TodoItem item) { if (item.DocumentId != null) { return Hash.Combine(item.DocumentId, Hash.Combine(item.Priority, Hash.Combine(item.Message, Hash.Combine(item.OriginalLine, Hash.Combine(item.OriginalColumn, 0))))); } return Hash.Combine(item.Message, item.Priority); }