public override bool Equals(object obj) { var o = obj as CourseAllocation; if (o != null) { return(Description.CompareString(o.Description) && Timeslot.CompareString(o.Timeslot) && Type.CompareString(o.Type) && RoomAllocations.ContentsAreIdentical(o.RoomAllocations)); } return(false); }