0
MEFを使用して、FooType
というクラスがあり、それに[Export]
属性を適用したとしましょう。今、私はこのFooType
を別の場所にインポートして使用したいと思っています。[インポート]と_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()
メソッドが正しく呼び出されます。だから、それは私に不思議に思う:
- エクスポートを解決するこれらの2つの方法は本当に似ていますか?それとも何か違いはありますか?
- 2つの間に推奨ソリューションがありますか?