[英]Extend Ninject Bind method
Ninject有這種方法 。
public IBindingToSyntax<T1, T2, T3, T4> Bind<T1, T2, T3, T4>()
是否有可能以某種方式擴展此方法以將5個接口綁定到一個實現?
像這樣:
public IBindingToSyntax<T1, T2, T3, T4, T5> Bind<T1, T2, T3, T4, T5>()
Ninject提供了一種流利的語法,使您最多可以將4個接口綁定到同一實例:
Bind<IInterface1, IInterface2, IInterface3, IInterface4>().To<Implementation>();
如果我們需要更多接口,則有一種解決方法:
var bindingConfiguration =
Bind<IInterface1, IInterface2, IInterface3, IInterface4>()
.To<Implementation>()
.BindingConfiguration;
kernel.AddBinding(new Binding(typeof(IInterface5), bindingConfiguration));
下面我發表了作者的引文,為什么只有四個接口?
有人可能會問我是否要將四個以上的接口綁定到同一服務。 在一次簡短的討論中,我們得出的結論是,如果單個服務上的接口數量超過四個,則您最有可能遇到單一責任原則的問題,應首先解決此問題。
鏈接到文章Ninject 3.0的新功能和更改
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.