私はMEFを使用していると私は同じ契約タイプを有する二つの輸出を持っていますが、別のコントラクト名サービスロケータ:取得し、すべての輸出
例:と:
[Export("TypeA", typeof(MyPlugin))]
[Export("TypeB", typeof(MyPlugin))]
私が使用して各輸出を取得することができ
ServiceLocator.GetExportedValues<MyPlugin>("TypeA");
これで、MyPlugin
を実装するすべてのインスタンスを取得したいと考えています。私はそれを行うことができる方法はありますか?私は次のコードを使用してみました
:
ServiceLocator.GetExportedValues<MyPlugin>();
しかし、それは動作しませんでした。明らかに、特定の契約名のない実装のみを取得するために使用されます。
意見はありますか?
どのようにこの答えはdefault.kramerの@よりも何が違うのですか?使用してそれらをインポート –
宣言は同じですが、Mefにコンテナ/カタログを直接参照せずにすべてのインスタンスを注入させる方法を示しています...どのようにDIフレームワークを使用するのが適切な方法です。 –