0

さまざまなソースから取得したコードを含むPrismプロジェクトがあり、すべてが非常にうまく機能していますが、一部のモジュールで注入していることに気付きました

IContainer container

そして他のモジュールでは私は注入します

IUnityContainer container

IContainerにはコンポーネント、追加、および削除のみがあるようですが、IUnityContainerには数十のメソッドがあります。

IContainerをIUnityContainerに頻繁に変更して、後者のresolveメソッドを使用できるようにします。これら2つの違いは何ですか?なぜIContainerを使用したいのですか?

4

1 に答える 1

2

これらは、実際には異なる目的を持つ 2 つの異なるものです。

IUnityContainer は、BuildUp、Resolve、Register など、依存性注入/サービスの場所のシナリオで行う必要があるすべてのことをサポートする依存性注入コンテナーです。Unity について詳しく読むことができます (実際には Enterprise の一部です)。ライブラリであり、CAG によって使用されます) ここに移動して: Unity on Codeplex

IContainer は、IComponents であるオブジェクトの汎用コンテナーを作成するために使用されます。これは多くのコンポーネントで使用され、System.ComponentModel の .NET Framework にあります。Unity や CAG とは直接関係ありません。これは、WPF で IComponents を間接的に使用できますが、より Windows フォーム固有で WPF が少ないものであると考えています。IContainer

あらゆる種類の依存性注入を行うときは、IContainer ではなく IUnityContainer を使用する必要があります。

于 2009-07-21T18:49:25.233 に答える