4

我有一个问题,我在一个单独的框架中使用 Swinject。

我的应用程序从这个框架中获取对象,我的 appExtension 也使用它。

但是在扩展中,对象没有正确实例化。Swinject 是使用我的对象的第一个实例还是重新创建另一个?

谢谢

4

1 回答 1

4

我在他们的文档中发现了这一点:

图表(默认范围)

使用 ObjectScope.graph,如果直接调用容器的 resolve 方法,总是会创建一个实例,就像在 ObjectScope.transient 中一样,但是在解析根实例以构造对象图的过程中,工厂闭包中解析的实例是共享的。

因此,如果您没有指定范围,那就是适用于您的案例的范围。

完整文档:https ://github.com/Swinject/Swinject/blob/master/Documentation/ObjectScopes.md

于 2018-10-17T10:12:05.550 回答