Как проверить уникальность идентификатора в списке? - PullRequest
0 голосов
/ 02 декабря 2018

У меня есть класс Person и PersonList.Если кто-то пытается добавить человека с таким же идентификатором, он должен выдать исключение.Я попытался переопределить метод Equals(), но он не проверяет идентификатор в списке детей.

Например:

Person father = new Person(id: 1);
father.Children.Add(new Person(id: 1));'

Это должно вызвать исключение, поскольку человек с идентификатором 1 уже существует.

    class Person {
        public int ID { get; private set; }
        public PersonList Chilren { get; set; }

        public Person(int id) {
           Chilren = new PersonList();
           this.ID = id;
        }

        public override bool Equals(object obj) {
           return this.ID == (obj as Person).ID;
        }
    }

    class PersonList : List<Person> {
       new public void Add(Person person) {
           if (Contains(person)) {
               throw new Exception("Person already exists!");
           }
           base.Add(person);
       }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...