繁体   English   中英

如何正确实现接口成员?

[英]How to implement an interface member correctly?

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

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

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

        int ICollection<Time>.Count
        {

            get
            {
                arr.Count();
            }    
        }
     }

我收到一个错误:

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

您在getter上缺少return声明。

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

    int ICollection<Time>.Count
    {

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

另外,您可以使用表达式主体定义 =>

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM