我有下面的接口和具体的类。

我收到以下错误:


  'DAL.Model.Audit.Categories'无法实现'DAL.Interfaces.IAudit.Categories',因为它没有匹配的返回类型'System.Collections.Generic.IEnumerable'。


有人可以在这里解释我做错了什么吗?

public interface IAudit
{
    IEnumerable<ICategory> Categories { get; set; }
    IEnumerable<IAuditAnswer> Answers { get; set; }
}

public class Audit : IAudit
{
    public List<ICategory> Categories { get; set; }
    public List<IAuditAnswer> Answers { get; set; }
}

最佳答案

实现接口时,您必须遵守合同:

public class Audit : IAudit
{
    public IEnumerable<ICategory> Categories { get; set; }
    public IEnumerable<IAuditAnswer> Answers { get; set; }
}


在接口中,这两个属性定义为IEnumerable<T>,因此在实现类中,应使用相同的类型而不是List<T>

10-06 05:26
查看更多