我试图弄清楚如何设置StructureMap(使用XML配置文件)。一个类有一个构造函数,其中包含一个包含第二类实例的列表:
public interface ITestDocType { }
class TestDocType : ITestDocType
{
public List<AttributeRef> AttrRefs { get; set; }
public TestDocType(List<AttributeRef> attrRefs)
{
AttrRefs = attrRefs;
}
}
public class AttributeRef
{
public AttributeRef(string name, string xpath, string value)
{
Name = name;
Xpath = xpath;
Value = value;
}
public string Name { get; set; }
public string Xpath { get; set; }
public string Value { get; set; }
}
我希望能够在我的配置文件中内联AttributeRef的实例,但不能完全确定它是如何完成的(或者如果可能的话)。
<DefaultInstance PluginType="ITestDocType" PluggedType="TestDocType">
<attrRefs>
// Would like to specify one to many AttributeRef instances inline here
</attrRefs>
</DefaultInstance>
答案 0 :(得分:0)
好吧..我想出来了,它是described pretty nicely in the documentation ..我只需要阅读几次就可以完全理解。
<DefaultInstance PluginType="yyy"
PluggedType="yyy">
<attrRefs>
<Child>
<DefaultInstance PluginType="xxx"
PluggedType="xxx"
name="id" x
path="/item/@idd"
attrValue="none">
</DefaultInstance>
</Child>
</attrRefs>
</DefaultInstance>
如您所见,“attrRefs”是构造函数中接受List的参数的名称,对于要添加到该列表的每个元素,将DefaultInstance元素包装在“Child”元素中。