我在.NET中有一个(非常标准的)单例对象(它具有受保护的构造函数和Instance
属性)。
我需要在Unity容器中注册它的实例,所以我打电话给
container.RegisterInstance<IFoo>(FooSingleton.Instance);
但是我想避免在容器注册方法中实例化(如果需要,只将其调用),因为有可能不需要它并且它的初始化是扩展的。
有没有办法实现这个目标?
答案 0 :(得分:1)
您可以使用int
按需创建实例,使用InjectionFactory
将其设为单身:
ContainerControlledLifetimeManager