我有一個類的依賴性:統一框架和多個構造注射
public class Foo {
public Foo() {
// default constructor
}
public Foo(IMyInterface my) {
}
}
當我試圖把它注入另一個類我得到錯誤消息
分辨率依賴的失敗。 ..... InvalidOperationException - 當前類型IMyInterface是一個接口,不能由 構造。你是否缺少類型映射?
我從來沒有使用任何具體類型註冊IMyInterface
,因爲我保留這個構造函數用於其他目的。
我的理解Unity會嘗試用最少的參數先解析構造函數,如果沒有明確地指示它解決哪個問題。所以它會嘗試初始化默認的constroctor。
除了我使用InjectionConstructorAttribute
之外,有沒有一種巧妙的方法可以讓Unity忽略第二個構造函數?
謝謝你給我修錯誤的內存。 – hardywang 2011-12-29 16:36:33