我有一个类(MyFacade
),我使用Ninject
注入了参数:
我有一个类(MyFacade
),我使用Ninject
注入了参数:
class MyFacade
{
IDemoInterface demo;
public MyFacade(IDemoInterface demo)
{
this.demo = demo;
}
public void MyMethod()
{
Console.WriteLine(demo.GetInfo());
}
}
当然,我必须设置Ninject
以注入我的参数(IDemoInterface
)的适当实现
我知道,我可以通过执行kernel.Get<MyFacade>();
来实例化MyFacade
对象,而不需要设置其他任何内容。目前,我的外观没有接口(因为它是我唯一的实现,也许我将添加其接口以用于标准目的)
如果我想使这个外观成为单例,我知道两种方法:创建一个空构造函数并通过执行kernel.Get<IDemoInterface>();
来传递参数,或者像这样设置Ninject:kernel.Bind<MyFacade>().To<MyFacade>().InSingletonScope();
第二种方法似乎是更好的方法,但您知道其他设置为单例的方式吗?
kernel.Bind<MyFacade>().ToSelf().InSingletonScope();
。 - Jaider