我有以下模型,我刚刚修改了我的IEntity接口以采用泛型类型,因为我有多种身份类型。
public interface IEntity<T>
{
T Id { get; set; }
}
public class Product : IEntity<int>
{
public int Id { get; set; }
}
现在我必须修改我的IRepository和IProductRepository以反映这种变化,但我不确定如何。
public interface IRepository<TEntity> where TEntity : IEntity
{
void Add(TEntity entity);
void Delete(TEntity entity);
}
public interface IProductRepository : IRepository<Product>
{
}
任何人都在努力推动我朝着正确的方向前进?
由于
答案 0 :(得分:3)
您需要添加第二个通用参数:
public interface IRepository<TEntity, TID> where TEntity : IEntity<TID>
{
void Add(TEntity entity);
void Delete(TEntity entity);
}
public interface IProductRepository : IRepository<Product, int>