使用具体类实现接口方法

问题描述 投票:1回答:2

我有以下接口,一个用于实体,一个用于某些逻辑:

public interface IItem 
{ 
    int Id { get; set; }
}

public interface IGenerator
{
    IList<IItem> Generate();
}

和实施:

public class ItemA : IItem 
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class ItemAGenerator : IGenerator
{
    public IList<ItemA> Generate()
    {
        // do stuff
        return List<ItemA>;
    }
}

该实现不起作用,它说它没有匹配的返回类型,所以我也试过:

public class ItemAGenerator : IGenerator
{
    public IList<IItem> Generate()
    {
        // do stuff
        return List<ItemA>;
    }
}

它说不起作用,它说:不能隐式转换类型List<IItem>List<ItemA>

如何使它工作?我在这里缺少什么

c# interface
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.