0
我是StructureMap新手。以下問題的任何指導表示讚賞。謝謝!StructureMap注入父母/子女關係
我有喜歡的一些代碼:
public interface IFoo
{
IBar Child { get; }
void SayIt();
}
public class Foo: IFoo
{
public IBar Child {get; set;}
public Foo(string message) {...}
public void SayIt() {...}
}
public interface IBar
{
IFoo Parent {get;}
}
public class Bar: IBar
{
private IFoo parent;
public IFoo Parent { get {return parent;} }
public Bar(IFoo parent)
{
this.parent = parent;
}
}
我構建的IFoo使用如下的ObjectFactory
ObjectFactory.Configure(x =>
{
var foo = x.For<IFoo>().Use<Foo>();
//x.For<IBar>().Use<Bar>().Ctor<IFoo>().Is(foo);
x.SetAllProperties(c =>
{
c.OfType<IBar>();
}
);
}
);
我構建foo的對象:
var foo = ObjectFactory.With<string>("Hello world").GetInstance<IFoo>();
然而,我將IFoo的Child屬性配置爲IBar與父級的實例有困難屬性指向我創建的實例,例如以「Hello World」作爲消息的那個。我怎樣才能做到這一點?謝謝!
這不是一件容易的事情,因爲它通常不會使用IoC工具。你可能會考慮用你試圖解決的實際問題來重新解釋問題(或者創建一個新問題),從而讓你認爲你需要注入服務之間的父子關係。 – 2011-04-08 18:16:08