我有一個內部的類庫,我已經構建使用依賴注入(ninject)。它被各種項目使用; MVC,Windows服務的REST API等在類庫中是否有依賴注入的解決方法?
我只是有一類像這樣:
public class KittenInvestigator
{
[Inject]
public IKittenDetectorDevice KittenDetectorDevice { get; set; }
...
}
谷歌搜索的問題死我發現它是不可能在類庫來初始化ninject因爲有沒有'啓動'方法或掛鉤。
我正在尋找解決方法。有大量關於這個問題的帖子,但我找不到任何解決方案或解決方法。有任何想法嗎?
有些事情我已經考慮:
把綁定到項目引用庫。這是非常糟糕的,因爲注入是在庫內部使用的,所以外部組件不應該知道它 - 它們必須神奇地知道要添加這些綁定,否則庫不起作用。
某種反射,使我的ninject代碼在主項目中掃描ninject模塊的所有程序集並初始化它們。
類庫中的靜態初始化方法,必須由主項目調用,它將設置ninject的東西(看起來很俗氣)。
其他一些聰明的設計。
我不太明白你的問題。你會在哪裏把代碼爲什麼Ninject不能注入到這個類? – suvroc
設置ninject?庫中沒有啓動方法。 – NibblyPig
試試http://stackoverflow.com/a/10191282/4772988 – suvroc