Я хочу иметь только один экземпляр foo в моем коде, но с этой конфигурацией каждый раз, когда он создает новый экземпляр, и я каждый раз проверяю его конструктор, и я не могу понять, почему.Как обеспечить InSingletonScope, используя только один экземпляр
public sealed class foo: Ifoo
{
public string Test { get; set; }
public foo()
{
this.Test = "test";
}
}
мой контейнер, как этот
public class DefaultNinjectModule : NinjectModule
{
public override void Load()
{
this.Bind<foo>().ToSelf().InSingletonScope();
}
}
Вы запрашиваете 'foo' или' Ifoo'? потому что ваша привязка только к 'foo' –
с запросом foo всякий раз, где – bidva
@bidva Кажется, что это немного. Нет никакой реальной выгоды для привязки к конкретному классу и возникновения накладных расходов на DI (в частности, накладных расходов Ninject), поскольку вы теряете способность кодировать контракт вместо конкретной реализации. –