相关疑难解决方法(0)

为什么在实现接口时我不能使用兼容的具体类型

我希望能够做到这样的事情:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    public interface IFoo
    {
        IEnumerable<int> integers { get; set; }
    }

    public class Bar : IFoo
    {
        public List<int> integers { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么编译器抱怨..?

Error   2   'Test.Bar' does not implement interface member 'Test.IFoo.integers'. 'Test.Bar.integers' cannot implement 'Test.IFoo.integers' because it does not have the matching return type of 'System.Collections.Generic.IEnumerable<int>'.
Run Code Online (Sandbox Code Playgroud)

据我所知,接口说IEnumerable,类使用List,但List 是 IEnumerable .....

我能做什么?我不想在类中指定IEnumerable,我想使用一个实现IEnumerable的具体类型,比如List ...

c# interface class

12
推荐指数
2
解决办法
2438
查看次数

标签 统计

c# ×1

class ×1

interface ×1