CompositionContainer 公開了一部分擷取導出、導出對象以及兩者集合的重載。
在這些方法重載中,你應該遵循下面的共享行為準則 - 除非特别說明。
當請求單一執行個體的時候,如果沒發現任何導入,将會抛出異常。
當請求單一執行個體的時候,如果發現不止一個導入,将會抛出異常。
GetExportedValue
在下面的代碼片段裡,我們請求 Root(契約)執行個體的執行個體。
如果有一個不同合同名稱的導出,你需要使用一個不同的重載:
GetExport
GetExport 檢索延遲引用執行個體化導出。通路導出的 Value 屬性将會迫使導出執行個體的建立。多次調用導出的 Value
屬性隻會傳回同一執行個體,無論部件擁有 Shared 生命期還是 Non-Shared 生命期。
GetExportedValueOrDefault
和 GetExportedValue 的差別在于 GetExportedValueOrDefault
在沒有任何比對的情況下并不會抛出異常。
原文位址: