我有一个包含所有的公共储存库的方法基地仓储类(如通用):一个C#泛型问题涉及控制器和存储库
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为每个控制器传递一个不同的存储库类型(即使它们都从基本存储库继承)。基础控制器如何以某种方式访问传入的存储库(不管它是什么类型),以便它可以访问公共基方法?
是意味着是该领域的构造函数的'I'? – 2010-05-28 08:11:21
@marc是的,抱歉 - 错字(确定在真实的代码中) - 我会更新帖子。 – UpTheCreek 2010-05-28 08:13:16