使用以下代码:
public IGenericRepository<TEntity> Repository<TEntity>() where TEntity : class
{
if (repositories.Keys.Contains(typeof(TEntity)) == true)
{
return repositories[typeof(TEntity)] as IGenericRepository<TEntity>;
}
IGenericRepository<TEntity> repo = new GenericRepository<TEntity>(_context);
repositories.Add(typeof(TEntity), repo);
return repo;
}
我得到的错误,
错误1可访问性不一致:返回类型 'DataModel.GenericRepository.IGenericRepository'更少 比方法更容易 'DataModel.UnitOfWork.UnitOfWork.Repository()'C:\ Users \ Anoop.k \ documents \ visual 工作室 2013 \ Projects \ WebAPI \ DataModel \ UnitOfWork \ UnitOfWork.cs 30 44 DataModel
我知道IGenericRepository repo默认是私有的。但在这种情况下该怎么办? 请帮帮我。
答案 0 :(得分:3)
我认为您应该将您的界面定义为公开。
或试试这个:
public IGenericRepository<TEntity> Repository<TEntity>() where TEntity : class
{
if (repositories.Keys.Contains(typeof(TEntity)) == true)
{
return repositories[typeof(TEntity)] as IGenericRepository<TEntity>;
}
GenericRepository<TEntity> repo = new GenericRepository<TEntity>(_context);
repositories.Add(typeof(TEntity), repo);
return repo;
}
答案 1 :(得分:1)