swinject 是不是重新实例化对象?

Posted

技术标签:

【中文标题】swinject 是不是重新实例化对象?【英文标题】:Does swinject re instantiate the object?swinject 是否重新实例化对象? 【发布时间】:2018-10-17 09:38:13 【问题描述】:

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

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

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

谢谢

【问题讨论】:

我认为它重新创造了另一个 【参考方案1】:

我在他们的文档中找到了这个:

图表(默认范围)

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

所以,如果您没有指定范围,那就是适用于您的情况的范围。

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

【讨论】:

以上是关于swinject 是不是重新实例化对象?的主要内容,如果未能解决你的问题,请参考以下文章

jQueryFileTree 如何清除实例、重新实例化新实例或刷新

Swinject:生成任何对象的实例(对于未注册的对象、ViewModel 等...)

c++实例化一个对象

如何强制 Java 在实例化时重新加载类?

每次使用 Swinject 解析对象时如何返回相同的实例?

如何为在播放模式下实例化并在 Unity 3d 中使用相机位置重新创建的对象添加视差