Реализация нескольких свойств в разных пространствах имен - PullRequest
2 голосов
/ 24 мая 2010

Я пытался реализовать IEnumerator , но получил ошибки о том, что два разных свойства не были реализованы.

DataReader не поддерживает член интерфейса 'System.Collections.Generic.IEnumerator.Current'

DataReader не поддерживает член интерфейса 'System.Collections.IEnumerator.Current'

Решение, которое сработало, было:

    public Status Current { get; set; }

    object System.Collections.IEnumerator.Current
    {
        get { throw new NotImplementedException(); }
    }

Похоже, у меня может быть несколько свойств с одним и тем же именем, разделенных разными пространствами имен.

Как называется этот тип " перегрузка свойства "? И как я могу узнать больше об этом.

1 Ответ

4 голосов
/ 24 мая 2010

Вторая реализация свойства - это явная реализация интерфейса . Он специально реализует свойство Current для интерфейса IEnumerable. Причина, по которой вам нужно это сделать, заключается в том, что свойство Current вашего класса отличается от типа (Status против object), поэтому оно не соответствует тому, что предписывает интерфейс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...