【发布时间】:2018-10-17 09:38:13
【问题描述】:
我有一个问题,我在一个单独的框架中使用 Swinject。
我的应用从这个框架中获取对象,我的 appExtension 也使用它。
但在扩展中,对象没有正确实例化。 Swinject 是使用我的对象的第一个实例还是只是重新创建另一个实例?
谢谢
【问题讨论】:
-
我认为它重新创造了另一个
我有一个问题,我在一个单独的框架中使用 Swinject。
我的应用从这个框架中获取对象,我的 appExtension 也使用它。
但在扩展中,对象没有正确实例化。 Swinject 是使用我的对象的第一个实例还是只是重新创建另一个实例?
谢谢
【问题讨论】:
我在他们的文档中找到了这个:
图表(默认范围)
使用 ObjectScope.graph,总是会创建一个实例,如 ObjectScope.transient,如果你直接调用一个解析方法 容器,但在工厂关闭中解析的实例是共享的 在解析根实例的过程中构造对象 图表。
所以,如果您没有指定范围,那就是适用于您的情况的范围。
完整文档:https://github.com/Swinject/Swinject/blob/master/Documentation/ObjectScopes.md
【讨论】: