Мне нужно написать метод, который будет принимать два объекта сотрудника в качестве входных параметров и сравнивать их идентификаторы, чтобы определить, совпадают они или нет.
В настоящее время он неполон;но до сих пор у меня есть класс Employee, который наследует свойства имени и фамилии от класса «Person» и имеет идентификатор в качестве своего собственного свойства.Я пишу метод в файле сотрудников и уже создал 2 примера сотрудников в моей программе.Что касается перегрузки ==, я сталкиваюсь с ошибкой, которая говорит, что «Сотрудник» определяет оператор ==, но не переопределяет Object.Equals. «Он также говорит, что мне нужно определить«! = », Но я запутался вкак настроить перегрузку! =, когда она даже не фигурирует в этом методе.
Я видел два способа сделать метод сравнения: один возвращает true или false, а другой просто пишет "match "на консоль. Любой из них подойдет для моих целей, но я не могу найти обходной путь для ошибок или как я изменил бы код в этой ситуации, чтобы определить совпадение между двумя идентификаторами сотрудников. Здесьмой код ниже; я был бы признателен за любую информацию о том, что может идти не так! (у меня такое ощущение, что это может быть очень неправильно). Я также не уверен, как вызвать метод, но в настоящее время я пытаюсь понять этоout.
Файл программы:
namespace OperatorOverload
{
class Program
{
static void Main(string[] args)
{
Employee example = new Employee();
example.FirstName = "Kitty";
example.LastName = "Katz";
example.ID = 24923;
Employee example2 = new Employee();
example2.FirstName = "John";
example2.LastName = "Dudinsky";
example2.ID = 39292;
Console.ReadLine();
}
}
}
Класс сотрудника:
namespace OperatorOverload
{
class Employee : Person
{
public int ID { get; set; }
public static bool operator==(Employee employee, Employee employee2)
{
if (employee.ID == employee2.ID)
return true;
else
return false;
}
}
}
Персона Класс:
namespace OperatorOverload
{
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}