У меня есть класс (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();
Второй выглядит лучше, но знаете ли вы каким-либо другим способом настроить его одним способом?