.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; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д