나는 "어리석은"의심 스럽습니다. 일반적으로 "System.Object"는 "Equals"를 구현합니다. 내가 구현할 때 IEquatable 인터페이스 나는 내 "동등한"사용자 지정 정의 (나는 그렇게)을 줄 수 있습니다. System.Equals의 다른 정의가 있기 때문에 .NET의 "equals"내부 내용
그래서 교수 클래스 구현은class Professor:System.Object,IEquatable
동일하며, IEquatable의 같음은, 왜 C# 보고서 오류하지 않았다? .Because 내가 무시하고 있지 않다 "같음" 새로운 키워드를 사용하여 "같음"을 숨기지 않습니다. 반대하지 -
class Professor : IEquatable<Professor>
{
public string Name { get; set; }
public bool Equals(Professor cust)
{
if (cust == null) return false;
return cust.Name == this.Name;
}
}
IComparable 질문을 별도의 질문으로 제안하는 것이 좋습니다. 그 질문은 설계 질문 일 뿐이므로 주 질문은 더 많은 관련이 있습니다.NET의 개체 모델. – Welbog
괜찮아요. – user193276