我已經寫了一個類,它有一些依賴關係它從統一容器解決。統一註冊實例和解析
從我的主類創建一個新的對象
MyObject myObject = new MyObject();
我和團結集裝箱
UContainer.RegisterInstance<MyObject>(myObject, new ExternallyControlledLifetimeManager());
註冊它的創建需要這個作爲一個依賴
ConsumerObject consumer = new ConsumerObject();
類型
消費者看起來是這樣的:
public class ConsumerObject
{
public ConsumberObject()
{
theObject = (MyObject)UContainer.Resolve(typeof(MyObject));
}
}
,這將引發一個例外:
依賴解析失敗,TYPE = 「MyObject來」,名字= 「」。異常消息是:當前的構建操作(構建鍵構建鍵[MyObject,null])失敗:嘗試調用構造器MyObject(IPreferenceStorageProvider pp)時無法解析參數pp。 (策略類型BuildPlanStrategy,索引3)
爲什麼我的解析調用嘗試調用另一個類型的contsructor?我已經創建並註冊的情況下。我也試着像:theObject = UContainer.Resolve<MyObject>();
似乎沒有什麼差別..
感謝
的問題是「MyObject來」是不是我的目標。它有大約15建設者..我可以創建它,但我有過它的結構無法控制。爲什麼無論如何,Unity是否會嘗試新增它?我創建了一個實例並註冊它。它現在在容器中作爲一個單例,它不應該調用任何構造函數。 – 2010-02-05 13:43:39