我正在使用 Ninject 并面临使用静态构造函数而不是常规构造函数的库的问题:
Kernel.Bind<IDocumentService>().ToMethod(
x => CoDocumentService.Create(x.Kernel.Get<IMessage>(),x.Kernel.Get<IClientChannel>())
).InRequestScope();
现在的问题是,根据(即IMessage
,)的种类,IClientChannel
实现方式略有不同。但是,我无法区分/的上下文。我需要一种能够知道在哪里使用这样的实例的方法。Service
IDocumentService
IAccountService
IMessage
IClientChannel
this.Kernel
.Bind<IClientChannel>()
.To<Something>()
.WithPropertyValue("Something",x => {"Depends on where this instance is going to be used"});
有人有想法吗?