Я очень новичок в autofac, поэтому возможно, что я использую его совершенно неправильно.
Допустим, у меня есть класс, который имеет такую структуру:
public class HelperClass : IHelperClass
{
public HelperClass(string a, string b)
{
this.A = a;
this.B = b;
}
}
и у меня есть два класса, которые используют этот класс, но требуют разных значений по умолчанию для конструктора. Второй конструктор нужен только для тестирования - в "реальном" приложении нам всегда будет нужен HelperClass:
public class DoesSomething: IDoesSomething
{
public DoesSomething()
: this(new HelperClass("do", "something"));
{
}
internal DoesSomething(IHelperClass helper)
{
this.Helper = helper;
}
}
public class DoesSomethingElse : IDoesSomethingElse
{
public DoesSomethingElse()
: this(new HelperClass("does", "somethingelse"));
{
}
internal DoesSomethingElse(IHelperClass helper)
{
this.Helper = helper;
}
}
Вот мой модуль AutoFac:
public class SomethingModule: Module
{
protected override void Load(ContainerBuilder builder)
{
builder.RegisterType<DoesSomething>().As<IDoesSomething>();
builder.RegisterType<DoesSomethingElse>().As<IDoesSomethingElse();
}
}
Мой вопрос(и):