1

在查看主应用程序引导程序时,InjectionProxy用于注册实例和接口。我注意到接口可以注册为InstanceType.SingleInstance(为特斯拉应用程序中的数据库完成)或InstanceType.EachResolve. 对代码的进一步研究InjectionProxy表明,实例总是SingleInstance.

SingleInstance和之间有什么区别EachResolve,为什么我要选择我的接口作为其中一个,为什么实例总是设置为SingleIstance

4

1 回答 1

1

SingleInstance意味着它只会创建该类的一个副本,用于任何需要它的东西。

EachResolve意味着每个注入此接口的类都将获得该接口的一个新实例。

这取决于您对应用程序的要求。在大多数情况下,SingleInstance 是您想要的,但如果您的情况需要一个新实例,而不是整个应用程序中使用的同一个实例,EachResolve 就在那里。

于 2017-06-07T01:29:30.897 回答