我想使用HaveBox进行依赖注入.但这不是关于HaveBox的问题.所以我创建了基本控制器:
public abstract class BaseController : Controller
{
protected readonly IRepository m_Repository;
protected BaseController(IRepository repository)
{
m_Repository = repository;
}
}
Run Code Online (Sandbox Code Playgroud)
我的HomeController继承自BaseController.添加HaveBoxConfig.RegisterTypes();到Application_Start方法和实施的HaveBoxConfig方法是:
public class HaveBoxConfig
{
public static void RegisterTypes()
{
var container = new Container();
container.Configure(config => config.For<IService>().Use<Service>());
container.Configure(config => config.For<IRepository>().Use<Repository>());
IDependencyResolver resolver = DependencyResolver.Current;
var newResolver = new MyResolver(container, resolver);
DependencyResolver.SetResolver(newResolver);
}
}
Run Code Online (Sandbox Code Playgroud)
我的解析器:
public class MyResolver : IDependencyResolver
{
private readonly IContainer m_container;
private readonly …Run Code Online (Sandbox Code Playgroud)