如何正确实现接口成员?

时间:2019-05-29 12:22:58

标签: c# collections

我正在编写一个可以处理集合的简单应用程序。在以下情况下,如何正确实现接口方法?当前,它显示错误“并非所有代码路径都返回值”。

这是我的家庭任务。类“时间”已经实现并且可以正常工作。我试图找到在Internet上成功实现此方法的任何示例,但失败了。

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

        int ICollection<Time>.Count
        {

            get
            {
                arr.Count();
            }    
        }
     }

我遇到错误:

  

CS0161“ MyCollection.ICollection.Count.get”:并非所有代码路径   返回值”

2 个答案:

答案 0 :(得分:1)

您在getter上缺少return语句。

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

    int ICollection<Time>.Count
    {

        get
        {
            return arr.Count();
        }    
    }
 }

答案 1 :(得分:0)

此外,您可以使用Expression body definition =>

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

    int ICollection<Time>.Count => arr.Count;
}