我们知道C#中的所有内容都源自具有Equals
方法以及其他几种方法的Object。
我正在创建一个类,发现不需要在override
方法中使用Equals
关键字。我不确定为什么吗?
public class Employee //: IEquatable<Employee>
{
public int Emp_Id
{
get;
set;
}
public string Emp_name
{
get;
set;
}
public string Dept_name
{
get;
set;
}
public bool Equals(Employee other) //here it should use override
{
return this.Emp_Id.Equals(other.Emp_Id);
}
public override int GetHashCode()
{
return this.Emp_Id.GetHashCode();
}
}
答案 0 :(得分:4)
因为您没有覆盖Equals(object)
。由于类型不同,您正在创建Equals
方法的重载。