.NET 4.x Компилятор ругается на переопределение метода Equals - C#
Формулировка задачи:
Вот переопределил метод Equals
но компилятор ругается что
Если я создаю свой метод не зависимо через от базового (через new) то все нормально,
но хотелось разобраться почему ругается компилятор
public override bool Equals(Person p1)
{
if (p1.name == name || p1.lastname == lastname)
return true;
return
false;
}Ошибка 1 "ConsoleApplication1.Person.Equals(ConsoleApplication1.Person)": не найден метод, пригодный для переопределения C:\Users\2\AppData\Local\Temporary Projects\ConsoleApplication1\Program.cs 49 30 ConsoleApplication1
Решение задачи: «.NET 4.x Компилятор ругается на переопределение метода Equals»
textual
Листинг программы
class Student: IComparable
{
public int number;
public string name;
public Student(int number, string name)
{
this.name = name;
this.number = number;
}
int IComparable.CompareTo(object input)
{
Student temp = (Student)input;
int length;
if (this.name.Length > temp.name.Length) length = temp.name.Length;
else length = this.name.Length;
for (int i = 0; i < length; i++)
{
if (this.name[i] > temp.name[i])
return 1;
if (this.name[i] < temp.name[i])
return -1;
if (i == length - 1)
{
if (this.name.Length < temp.name.Length)
return -1;
if (this.name.Length > temp.name.Length)
return 1;
if (this.name.Length == temp.name.Length)
return 0;
}
}
return 0;
}
}