Я новичок в Autofac, и это сценарий моей проблемы:
У меня есть 2 класса, оба из них являются синглетонами.
У одного из них есть публичное свойство, например.
public class ClassWithProperty
{
public string SomeProperty { get; set; }
}
и второй класс имеет конструктор, который должен взять свойство из первого класса в качестве параметра:
public class ClassWithConstructor
{
private string _someParameter;
public ClassWithConstructor(string someParameter)
{
_someParameter = someParameter;
}
}
без Autofac. Я могу просто сделать это так:
var classWithProperty = new ClassWithProperty();
var classWithConstructor = new ClassWithConstructor(classWithProperty.SomeProperty);
Я не могу решить эту проблему с Autofac и найти решение здесь или в Google. Что я делаю:
var builder = new ContainerBuilder();
builder.RegisterType<ClassWithProperty>().InstancePerLifetimeScope();
builder.RegisterType<ClassWithConstructor>()
.WithParameter() // what should be done here to pass exactly ClassWithProperty.SomeProperty here?
.InstancePerLifetimeScope();
var container = builder.Build();
конечно, это упрощенный сценарий, просто чтобы показать мою проблему. В реальном сценарии я передаю TreeList из одной формы в другой класс представления и работаю именно с этим TreeList.