Как правильно реализовать член интерфейса? - PullRequest
0 голосов
/ 29 мая 2019

Я пишу простое приложение, которое работает с коллекциями.Как правильно реализовать метод интерфейса в случае ниже?В настоящее время отображается ошибка «не все пути кода возвращают значение».

Это моя домашняя задача.Класс «Время» уже реализован и работает правильно.Я попытался найти какие-либо примеры успешной реализации этого метода в Интернете, но не смог.

class MyCollection : ICollection<Time> 
    {
        List<Time> arr = new List<Time>();

        int ICollection<Time>.Count
        {

            get
            {
                arr.Count();
            }    
        }
     }

Я получаю сообщение об ошибке:

CS0161 "MyCollection.ICollection.Count.get ': не все пути кода возвращают значение "

Ответы [ 2 ]

1 голос
/ 29 мая 2019

В вашем получателе отсутствует оператор return.

class MyCollection : ICollection<Time> 
{
    List<Time> arr = new List<Time>();

    int ICollection<Time>.Count
    {

        get
        {
            return arr.Count();
        }    
    }
 }
0 голосов
/ 29 мая 2019

Также вы можете использовать Определение тела выражения =>

class MyCollection : ICollection<Time>
{
    List<Time> arr = new List<Time>();

    int ICollection<Time>.Count => arr.Count;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...