У меня есть класс (MyFacade
), который я ввел параметр с помощью Ninject
:
class MyFacade
{
IDemoInterface demo;
public MyFacade(IDemoInterface demo)
{
this.demo = demo;
}
public void MyMethod()
{
Console.WriteLine(demo.GetInfo());
}
}
Конечно, мне нужно настроить Ninject
, чтобы ввести подходящую реализацию моего параметра (IDemoInterface
)
Я знаю, я могу создать экземпляр объекта MyFacade
, выполнив kernel.Get<MyFacade>();
без установки чего-либо еще. В настоящее время мой фасад не имеет интерфейса (потому что это моя единственная реализация, возможно, я добавлю его интерфейс для стандартных предложений)
если я хочу сделать этот синглтон для фасада, я знаю два пути: создайте пустой конструктор и передайте параметр, выполнив это kernel.Get<IDemoInterface>();
или установив Ninject как: kernel.Bind<MyFacade>().To<MyFacade>().InSingletonScope();
Второй выглядит лучше, но знаете ли вы каким-либо другим способом настроить его одним способом?