2009-05-25 8 views
2

すべてインポートするMEF部品がすべて含まれている多数のフォルダがあります。フォルダを繰り返し処理してMEF集計カタログオブジェクトを作成するすべての部分を見つける最も簡単な方法はありますか?MEFを使用してX個のフォルダから部品をインポート

アプリケーションを読み込んだフォルダに基づいて、アプリケーションの別の場所に配置する必要があります。フォルダ "Test1Parts"からのパーツは、アプリケーションの "Test1"セクションの下にある必要があります。何らかの形でフォルダ名を使用できますか、集計カタログを使用してインポートした場合、同じ名前になりますか?

私は汎用部品を持っているので、アプリケーションの別のセクションに表示させるために、それぞれのコンポーネントに属性を追加することはできません。

別の方法(フォルダ構造で制御できない場合)は、インポートする前に私が読む構成ファイルを使用して、どの部分をどこに置くべきかを伝えることです。

最高のアプローチは何ですか?

答えて

1

私はこれを行う最善の方法は、そのフォルダ内の部品の対応するDirectoryCatalogと共に各フォルダのための別のコンテナを持つことだと思います。グローバルにする必要のあるパーツがある場合、それらのパーツを含む親カタログを持ち、各ディレクトリの子カタログを持つことができます。

+0

次に、コンテナに直接クエリしますか?ここのように:http://mef.codeplex.com/Wiki/View.aspx?title=Querying%20the%20Composition%20Container&referringTitle=Home 私は、次に私がどこで私が質問できるコンテナのリストを持つことができると思います。アプリケーションに含まれています - そうですか? – Riri

+0

異なるパーツのグループをどう使っているのか分かりません。 –

+0

OK。とにかくおかげありがとう。私はそれを試して、それがどのようになるかを見てみましょう。 – Riri

1

あなたがしようとしていることは100%明確ではありませんが、アプリケーションの「セクション」ごとに1つの集計カタログを使用することをお勧めします。次に、そのセクションの部品カタログに基づいて、各セクションでComposeを実行します。各カタログには、関連するディレクトリの一部のみが含まれます(両方のカタログにロードされる共通のディレクトリもあります)。それは意味をなさないでしょうか?

関連する問題