6

在国际奥委会ResolveAll做什么?我知道官方的答案是“解决所有与此类型匹配的有效组件”。这是否意味着它将返回任何实现给定接口的类?

4

4 回答 4

10

它将返回为给定接口注册的所有类。

...并且不等待解决任何参考。今天被我咬了!

于 2009-02-04T23:21:21.593 回答
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 包含已解析的“Singleton”和“Trans”映射

于 2010-04-28T05:14:52.293 回答
1

它将返回为给定接口注册的所有类。

于 2008-12-05T07:22:59.237 回答
0

如果我有:

container.ResolveAll(new { argument = something}).Where(...)

似乎 T 的所有组件都用“某物”实例化,即使并非所有组件都完全填充 where 子句....谁负责释放这些额外的组件?

于 2013-02-27T14:49:58.427 回答