与通用接口混淆

时间:2015-08-04 01:02:14

标签: c# covariance

任何帮助将不胜感激。我正在关注复数视频,但我无法弄清楚我做错了什么。我收到此错误

  

错误5类型' Domain.Business.Entities.Employee'不能用作   类型参数' T'在泛型类型或方法中   ' Core.Common.DataRepositoryBase&#39 ;.没有隐含的参考   转换自' Domain.Business.Entities.Employee'至   ' Core.Common.Contracts.IIdentifiableEntity&#39 ;. C:\ Users \用户易卜拉欣\文档\ Visual   工作室   2013 \ Practice \ EF_MVC_Practice \ Employees.Data \ Repositories \ EmployeeRepository.cs 11 18 Employees.Data

这是我的代码看起来像

public interface IDataRepository
{

}

public interface IDataRepository<T> : IDataRepository where T : class, IIdentifiableEntity, new()
{ 
  //do stuff
}


public abstract class DataRepositoryBase<T, U> : IDataRepository<T> 
    where T : class, IIdentifiableEntity, new()
     where U : DbContext, new()
{

}

//this is where I get the error
public class EmployeeRepository : DataRepositoryBase<Employee, EmployeesContext>
{
}

编辑:

    public class Employee : IIdentifiableEntity
{}

解决: EmployeeRepository从未实现过IIdentifiableEntity

感谢大家的帮助。

1 个答案:

答案 0 :(得分:0)

已解决:EmployeeRepository从未实施IIdentifiableEntity

感谢大家的帮助。