Я пытаюсь использовать AutoFac, и все примеры показывают его с использованием инъекции конструктора, которая является рекомендуемой практикой. Это нормально, но я хочу знать, как его использовать, когда инсталляция конструктора невозможна. Например, я хочу использовать NLogger в своем приложении.Использование AutoFac без инъекции конструктора
Регистрация происходит следующим образом:
builder.RegisterType<NLogger>().As<ILogger>().SingleInstance();
Как бы я использовать NLogger, не делая так:
public class ProductService : IProductService
{
private ILogger _logger;
public ProductService(ILogger logger)
{
this._logger = logger;
}
}
Любая помощь очень ценится.
С уважением.
Итак, если вы не используете инъекцию конструктора, что вы хотите использовать? Вы не приводили пример, когда инъекция конструктора невозможна. – Steven
@Steven возьмите тот же класс и удалите конструктор. Как AutoFac предоставит мне экземпляр NLogger? – Codehelp
Почему вы не можете использовать инъекцию конструктора в своей «ProductService». Кажется, не существует веской причины, по которой вы не должны использовать инъекцию конструктора в этом классе. Можете ли вы объяснить, почему вы не можете использовать инъекцию конструктора? – Steven