我正在开发一个基于插件的系统,在该系统中,需要解决各种对象后,才能在运行时更新Ninject内核。似乎通过更新内核,它会忘记/重置/清除单例列表。我将问题简化为一个简单的测试案例,如下所示。我正在使用Nuget软件包Ninject 4.0.0-beta-0134。我做错什么了吗?
非常感谢
[TestMethod]
public void SingletonInitialization()
{
IKernel kernel = new StandardKernel();
kernel.Bind<B>().ToSelf().InSingletonScope();
var b = kernel.Get<B>();
var b2 = kernel.Get<B>();
Assert.AreSame(b, b2);
kernel.Bind<IA>().To<A>();
var b3 = kernel.Get<B>();
Assert.AreSame(b, b3); //this line fails
}
interface IA
{
}
class A : IA
{
}
class B
{
}