C# StructureMap注入父/子关系

C# StructureMap注入父/子关系,c#,.net,structuremap,C#,.net,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() {...} } publi

我不熟悉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;
    }

}
我正在使用以下ObjectFactory构建IFoo

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>();

                    }
                );
            }
            );
ObjectFactory.Configure(x=>
{
var foo=x.For().Use();
//x、 For().Use().Ctor().Is(foo);
x、 SetAllProperties(c=>
{
c、 of type();
}
);
}
);
我正在构建foo对象,如:

var foo = ObjectFactory.With<string>("Hello world").GetInstance<IFoo>();
var foo=ObjectFactory.With(“Hello world”).GetInstance();

但是,我很难将IFoo的子属性配置为IBar的实例,父属性指向我正在创建的实例,例如消息为“Hello World”的实例。我怎样才能做到这一点?谢谢

无法执行此操作,因为StructureMap将引发双向依赖项异常。大多数看起来像这样的对象图不属于容器,因为它们是数据对象。例如,xml文档对象。

这并不容易,因为这不是通常使用IoC工具所能做到的。你可能会考虑用你试图解决的实际问题来重新设计问题(或者创建一个新问题),这样你就可以认为你需要在注入的服务之间建立父子关系。