0
在过去,我用原来的反映类,并设置为静态字段,如下Ninject的Singleton作用域与静态域相似吗?
public class ServiceHelper{
private static IFoo _iFoo=null;
public static IFoo Foo{
get{
if(_iFoo==null)
{
_iFoo=Activator.CreateInstance("assembly") as IFoo;
}
return _iFoo;
}
}
}
,现在我们正在使用Ninject
kernel.Bind(x => x.FromAssembliesInPath("assembilypath")
.SelectAllClasses()
.BindDefaultInterface().Configure(binding => binding.InSingletonScope()));
问题:
这两种方法是一样的吗?
Ninject会只加载一次程序集?
如果更换组件,是否可以检测并重新装配新组件?