Предотвратить ли Autofac агрессивные инъекционные свойства?

У меня есть простой класс:

public class MyWidget
{
    private string _something;

    public MyWidget(string name)
    {

    }

    public string Something
    {
        get { return _something; }
        set { _something = value; }
    }
}

что я регистрируюсь в Autofac:

var builder = new ContainerBuilder();
builder.RegisterType<MyWidget>();
var container = builder.Build();

Если я разрешу фабрику и создам экземпляр MyWidget:

var myWidgetFactory = Container.Resolve<Func<string, MyWidget>>();
var myWidget = myWidgetFactory("test");

Свойству 'Something' присваивается значение test, хотя оно не имеет ничего общего с параметром конструктора. Почему Autofac считает, что он должен установить первое свойство, к которому приходит? Как мне это предотвратить? Я использую Autofac v4.0.0.

0 ответов

Другие вопросы по тегам