我的UserRepository看起来像:
public class UserRepository : Repository<User>, IUserRepository
现在如何使用接口声明变量,如果我这样做:
IUserRepository repo = new UserRepository();
然后如果我尝试使用在Repository中声明的方法,它显然不起作用。
我在这里做错了什么?
更新
我现在改变了这一点:
public interface IRepository<T> { // methos here }
public interface IUserRepository : IRepository<IUser>
{
}
public class Repository<T> : IRepository<T> { // impl of methods here }
我的UserRepository.cs是:
public class UserRepository : Repository<User>, IUserRepository
{
}
现在即使存储库具有方法的所有实现,我也可以在UserRepository.cs中出现构建错误,其中列出了需要实现的所有方法。
(记住IUserRepository到目前为止是空的,只有IRepository有方法)
答案 0 :(得分:3)
创建一个IRepository接口。然后让IUserRepository扩展IRepository。这应该可以帮到你。