也许这是一个愚蠢的问题,但我坚持下去。
我试图在整个应用程序中使用 SimpleContainer 作为 IoC,所以在我的数据访问层中,我以这种方式定义了一个引导程序:
public class AppBootstrapper : BootstrapperBase
{
SimpleContainer container;
public AppBootstrapper()
{
Start();
}
protected override void Configure()
{
container = new SimpleContainer();
container.PerRequest<IMyClass, MyClass>();
}
protected override object GetInstance(Type service, string key)
{
var instance = container.GetInstance(service, key);
if (instance != null)
return instance;
throw new InvalidOperationException("Could not locate any instances.");
}
但是我该如何使用它呢?
我只是想获得一个实现并尝试编写:
IMyClass mc = new IoC.GetInstance(IMyClass );
但我没有找到如何
我试过了:
SimpleContainer container = new SimpleContainer();
IMyClass mc = new container.GetInstance(IMyClass,null);
和:
IMyClass mc = new IoC.GetInstance(IMyClass, null);
但它们都不起作用。
怎么了?
编辑:
而且,如果我为每个项目都有一个 AppBootstrapper.cs 都运行良好或最佳实践不同?