equals方法的重写

向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,判断方法list<T>.Contains(T),判断是否存在已有对象,这是需要重写equals方法;例如在一个类中,代码: 

View Code
public class AccountPermission
    {
        #region 构造
        
        public AccountPermission()
        {

        }

        public AccountPermission(int permissionId, string permissionName)
        {
            this.f_permissionid = permissionId;
            this.f_permissionname = permissionName;
        }

        #endregion

        #region 属性

        private int f_permissionid;
        private string f_permissionname;
        private string f_fullname;
        private string f_description;
        private bool f_enabled;
        private DateTime f_createtime;


        /// <summary>
        /// 权限Id
        /// </summary>
        /// <remark></remark>
        public int Id
        {
            set { this.f_permissionid = value; }
            get { return this.f_permissionid; }
        }

        /// <summary>
        /// 权限名称
        /// </summary>
        /// <remark></remark>
        public string Name
        {
            set { this.f_permissionname = value; }
            get { return this.f_permissionname; }
        }

        /// <summary>
        /// 权限中文名--全名
        /// </summary>
        /// <remark></remark>
        public string FullName
        {
            set { this.f_fullname = value; }
            get { return this.f_fullname; }
        }

        /// <summary>
        /// 描述
        /// </summary>
        /// <remark></remark>
        public string Description
        {
            set { this.f_description = value; }
            get { return this.f_description; }
        }

        /// <summary>
        /// 是否可用
        /// </summary>
        /// <remark></remark>
        public bool Enabled
        {
            set { this.f_enabled = value; }
            get { return this.f_enabled; }
        }

        /// <summary>
        /// 创建时间
        /// </summary>
        /// <remark></remark>
        public DateTime CreateTime
        {
            set { this.f_createtime = value; }
            get { return this.f_createtime; }
        }

        #endregion

        public override bool Equals(object obj)
        {
            if (obj != null && obj is AccountPermission)
            {
                AccountPermission permission = (AccountPermission)obj;
                if (this.Id == permission.Id)
                {
                    return true;
                }

            }
            return false;
        }

 

 

 

 

posted @ 2012-12-26 17:32  小咩快跑  阅读(98)  评论(0编辑  收藏  举报