/ /プリズム、ユニティ - MEFからの変換 - 単一容器、プリズム、ioc-コンテナ、mef

プリズム、ユニティ - MEFからの変換 - 単一容器、プリズム、ioc-容器、mef

私は最近、MEFからUnityに変換しました - さまざまな理由から。

以前私はIMenuServiceオブジェクトを私がMEFでエクスポートし、他のモジュールでインポートしたモジュール。私はUnityと何をしなければならないのか、私のモジュールのコンストラクタのパラメータとして統一コンテナを取得し、それを使ってIMenuServiceを登録すると信じていますが、どうしたらよいかわかりません最初にブートストラップにコンテナを登録してモジュールにインポートする必要がありますか?)

また、MEFには他のモジュールが最初にロードされることを確認するためのModuleDependency属性があります... Unityの等価とは何でしょうか?

EDIT:IUnityContainer引数を見つけました...しかし、まだ秒の部分...依存関係について興味があります

回答:

回答№1は1

あなたが把握しているように、あなたのモジュールを持つべきタイプは IUnityContainer。あなたは本当にコンテナを登録する必要はありませんあなたが望むならそれを行うことができますし、物事をより明瞭にするために)モジュールでそれを扱うことができるようにするために、それ自体を使用してください。最後に、モジュール依存関係は使用しているIoCコンテナから独立しているので、うまくいくはずです。 ModuleCatalog xamlから:

protected override IModuleCatalog CreateModuleCatalog()
{
return ModuleCatalog.CreateFromXaml(new Uri("catalog.xaml", UriKind.Relative));
}

そして catalog.xaml ファイルを使用して、依存関係を指定することができます。 DependsOn のプロパティ ModuleInfo.

お役に立てれば :)