【发布时间】:2010-05-28 08:02:36
【问题描述】:
我有一个基础存储库类,其中包含所有常见的存储库方法(作为通用):
public abstract class BaseRepository<T, IdType> : IBaseRepository<T, IdType>
我来自这个基础的存储库,例如:
public class UserRepository : BaseRepository<User, int>, IUserRepository
我还有一个包含通用操作的基本控制器类,并在控制器中继承自它。存储库由 DI 注入其中。例如
public class UserController : BaseController<User>
{
private readonly IUserRepository userRepository;
public UserController (IUserRepository userRepository)
{
this.userRepository= userRepository;
}
我的问题是:基本控制器需要能够访问基本存储库中定义的存储库方法。但是,我通过 DI 为每个控制器传入了不同的存储库类型(即使它们都继承自基本存储库)。基控制器如何以某种方式访问传入的存储库(无论它是什么类型),以便它可以访问常用的基方法?
【问题讨论】:
-
ctor 上的
I是否意味着在场上? -
@marc 是的,抱歉 - 错字(在真实代码中可以) - 我会更新帖子。
标签: c# asp.net-mvc generics repository