【发布时间】:2014-12-15 08:55:45
【问题描述】:
请帮我更正这段代码。
我在类中遇到编译器错误
public interface IGenericSaveRepository
{
void Save<TEntity>(int id, ICollection<TEntity> entities) where TEntity : class;
}
public class GenericSaveRepository<TEntity> where TEntity : class,IGenericSaveRepository
{
private IUnitofWork<TEntity> _unitofWork;
private NaijaSchoolsContext _context;
public GenericSaveRepository(NaijaSchoolsContext context)
{
_context = context;
_unitofWork = new UnitofWork<TEntity>(_context);
}
public void Save(int id, ICollection<TEntity> entities)
{
foreach (var entity1 in entities)
{
//entity.Insert(entity1);
_unitofWork.Entity.Insert(entity1);
}
}
}
public class RatingRepo : GenericRepository<Rating>
{
private IGenericSaveRepository gen;
private readonly NaijaSchoolsContext _context;
public RatingRepo(NaijaSchoolsContext context)
: base(context)
{
_context = context;
}
public void Save(School school,Rating rating)
{
List<Rating> ratings = new List<Rating>();
ratings.Add(rating);
gen = new GenericSaveRepository<Rating>(_context);
gen.Save(23, ratings);
}
}
gen = new GenericSaveRepository<Rating>(_context); 这一行不允许我将 Rating 指定为具体类型。
我该怎么做?
感谢您的帮助。
【问题讨论】:
-
Rating 是否实现了 IGenericSaveRepository ?
-
GenericRepository
和 GenericSaveRepository 之间有区别还是这是一个错字?还缺少 Rating 类的代码,请提供。 -
不,它没有实现它@Selman22
-
那你为什么希望这段代码可以工作?
-
是的,它们之间存在差异@user3046593
标签: c# generics inheritance methods interface