我发现这篇文章Replace Ninject with Simple Injector
但还没有找到以下迁移的解决方案。使用 Ninject:
public class ServiceClass : IServiceClass
...
IKernel kernel
...
this.kernel.Bind<IServiceClass>().ToMethod(context => this);
我尝试将这种结构与 Simple Injector 一起使用:
public class ServiceClass : IServiceClass
...
Container container
...
this.container = container;
this.container.Register<IServiceClass>(() => container.GetInstance<ServiceClass >());
它等于 Ninject 吗?
Ninject 的第二部分是:
public void BindSomeCallback(DelegateNumberOne delegateNumberOne)
{
this.kernel.Rebind<DelegateNumberOne>().ToConstant(delegateNumberOne);
}
至:
public void BindSomeCallback(DelegateNumberOne delegateNumberOne)
{
this.container.Register<DelegateNumberOne, delegateNumberOne>();
}