1
有沒有一種方法可以使用ninject的常規綁定來綁定自我和所有接口。上述傳統綁定到自己和所有接口Ninject
_container.Bind(x => x.From(_assemblyList)
.SelectAllClasses()
.BindAllInterfaces());
的代碼做了所有的接口,但我似乎無法找到一種方法也結合自己在同一個語句。
有沒有一種方法可以使用ninject的常規綁定來綁定自我和所有接口。上述傳統綁定到自己和所有接口Ninject
_container.Bind(x => x.From(_assemblyList)
.SelectAllClasses()
.BindAllInterfaces());
的代碼做了所有的接口,但我似乎無法找到一種方法也結合自己在同一個語句。
除非你明確
關閉
存根隱自我約束
(通過提供
所討論in this answer by me from 2 years back I'd forgotten about,都對飛通過Ninject的需要產生的自我綁定出現[這是醜陋和AutoFac沒有按」不會陷入這個混亂的局面......另外它導致了一些實現混亂和測試用例,但據我所知Ninject的用戶並沒有問題]。NinjectSettings
覆蓋)
BindToSelf
()擴展方法與正常的Bind
鏈中的ToSelf
對稱,即它可以讓你說'無論 - 我要去重要的位...',然後覆蓋例如範圍界定。
IIRC除非關閉使用NinjectSettings覆蓋的隱式自我綁定,否則自動綁定就會生成(這很醜陋,AutoFac也不會進入這個混亂中......)。 IOW會對您造成問題(我可能會誤解,但我認爲它不應該是必需的)。 'BindToSelf'只是作爲一種說法'不要在此綁定任何接口'的方式。 ......如果有這種情況出現,維基可以通過編輯來做到這一點,因爲這樣做可以更加明確 - 或者如果情況屬實,xmldocs的知識產權機構知道該怎麼做! –
不是,它實際上是我想要做的,我們在我們的應用程序中有一些較舊的服務(我們正在引導ninject),需要綁定到自己。如果它自動綁定到自我,那麼一切都很好,我會做一個快速測試並回來確認。 – McDonnellDean
@RubenBartelink您是否想將您的評論作爲答案接受綠色標記?你是對的,因爲它是隱含的。 – McDonnellDean