4

我有一个简单的课程:

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。

4

0 回答 0