IOCでは何をしResolveAll
ますか?? 公式の答えは「このタイプに一致するすべての有効なコンポーネントを解決する」であることを知っています。これは、特定のインターフェイスを実装する任意のクラスを返すということですか?
3041 次
4 に答える
2
Unityを使用すると、ResolveAllは、デフォルトのマッピングを除いて、インターフェイスに登録されている各マッピングを解決します。
したがって、登録した場合:
container.RegisterType<IInterface, ActualClassOne>(new ContainerControlledLifetimeManager());
container.RegisterType<IInterface, ActualClassOne>("Singleton", new ContainerControlledLifetimeManager());
container.RegisterType<IInterface, ActualClassOne>("Trans", new TransientLifetimeManager());
ResolveAll()は、解決された「シングルトン」および「トランス」マッピングを含むIEnumerableのみを提供します
于 2010-04-28T05:14:52.293 に答える
1
特定のインターフェースに登録されたすべてのクラスを返します。
于 2008-12-05T07:22:59.237 に答える
0
私が持っている場合:
container.ResolveAll(new {引数 = 何か}).Where(...)
T のすべてのコンポーネントが「何か」でインスタンス化されるように見えますが、すべてのコンポーネントが where 節を完全に満たすわけではありません....これらの余分なコンポーネントのリリースを担当するのは誰ですか?
于 2013-02-27T14:49:58.427 に答える