私は最近、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
.
お役に立てれば :)