我正在编写一个可以处理集合的简单应用程序。在以下情况下,如何正确实现接口方法?当前,它显示错误“并非所有代码路径都返回值”。
这是我的家庭任务。类“时间”已经实现并且可以正常工作。我试图找到在Internet上成功实现此方法的任何示例,但失败了。
class MyCollection : ICollection<Time>
{
List<Time> arr = new List<Time>();
int ICollection<Time>.Count
{
get
{
arr.Count();
}
}
}
我遇到错误:
CS0161“ MyCollection.ICollection.Count.get”:并非所有代码路径 返回值”
答案 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;
}