假设我有以下内容:
public interface IDoStuff
public class DoerOfStuff : IDoStuff
public class RandomClass
{
public IDoStuff Doer {get; set; }
...
}
假设RandomClass
只有一个默认构造函数(我们希望保持这种方式),我的问题是:
Doer
中的RandomClass
自动连接到DoerOfStuff
?IDoStuff
属性的任何类都自动装配到DoerOfStuff
?DoerOfStuff
成为单身人士?提前致谢!
注意:我认为这对于StructureMap是可行的,所以理想情况下答案会显示出来。如果由于某种原因你知道它不是,请随意展示你如何使用不同的容器。
干杯,
-Sean
编辑:
以下是我的工作方式:
ObjectFactory.Initialize(x =>
{
x.For<IDoStuff>().Singleton().Use<DoerOfStuff>();
x.SetAllProperties(policy => policy.TypeMatches(type => type == typeof(IDoStuff)));
// this works too
// x.FillAllPropertiesOfType<IDoStuff>();
});
在任何一种情况下,只有在我添加以下内容时才有效:
public RandomClass()
{
ObjectFactory.BuildUp(this);
}
如果我能以某种方式跳过BuildUp()
,我仍然很好奇。
答案 0 :(得分:0)
new Container(x => {
x.For<IDoStuff>().Singleton().Use<DoerOfStuff>();
x. FillAllPropertiesOfType<IDoStuff>();
})