正确的方法来重写Equals()和GetHashCode()
我之前从未真正这样做过,所以我希望有人可以告诉我正确实现我的类的Except()和GetHashCode()的重写。
我正在尝试修改类,以便我可以使用LINQ Except()方法。
public class RecommendationDTO{public Guid RecommendationId { get; set; }public Guid ProfileId { get; set; }public Guid ReferenceId { get; set; }public int TypeId { get; set; }public IList<TagDTO> Tags { get; set; }public DateTime CreatedOn { get; set; }public DateTime? ModifiedOn { get; set; }public bool IsActive { get; set; }public object ReferencedObject { get; set; }public bool IsSystemRecommendation { get; set; }public int VisibilityScore { get; set; }public RecommendationDTO(){}public RecommendationDTO(Guid recommendationid, Guid profileid, Guid referenceid, int typeid, IList<TagDTO> tags, DateTime createdon, DateTime modifiedon, bool isactive, object referencedobject){ RecommendationId = recommendationid; ProfileId = profileid; ReferenceId = referenceid; TypeId = typeid; Tags = tags; CreatedOn = createdon; ModifiedOn = modifiedon; ReferencedObject = referencedobject; IsActive = isactive;}public override bool Equals(System.Object obj){ // If parameter is null return false. if (obj == null) { return false; } // If parameter cannot be cast to Point return false. RecommendationDTO p = obj as RecommendationDTO; if ((System.Object)p == null) { return false; } // Return true if the fields match: return (ReferenceId == p.ReferenceId);// && (y == p.y);}public bool Equals(RecommendationDTO p){ // If parameter is null return false: if ((object)p == null) { return false; } // Return true if the fields match:
我希望有人可以在我自己的例子中向我展示。
任何帮助,将不胜感激。
谢谢
暮色呼如
肥皂起泡泡
相关分类