0
使用MEF,我們假設有一個叫做FooType
的類,我在其上應用了[Export]
屬性。現在,我想在我的代碼中的其他位置導入此FooType
以使用它。[Import]和_container.GetExportedValue <>()之間的任何差異?
我已經嘗試了這兩種解決方案:
[Import]
public FooType Foo { get; set; }
private void MyMethod()
{
Foo.DoSomething();
}
和
private void MyMethod()
{
// _container is of type CompositionContainer and comes from the [ImportingConstructor]
_container.GetExportedValue<FooType>().DoSomething();
}
這兩項工作的FooType
的DoSomething()
方法正確調用。所以這讓我想知道:
- 這兩種解決出口的方式真的很相似嗎?或者有什麼區別?
- 兩者之間有推薦的解決方案嗎?