我需要初始化一个具有多个属性的对象。这些性质是IList<string>
。我想通过配置文件向这些添加字符串。我正在使用Unity配置XML,但我不确定XML语法来描述我想要实现的。
这是一个属性类:
public class MyClass : IMyClass
{
public IList<string> Animals { get; set; }
public IList<string> People { get; set; }
public IList<string> Objects { get; set; }
}
这是目前为止我的XML(为了简单起见,使用非真实世界):
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<container>
<register>
<register type="IMyClass" mapTo="MyClass">
<property name="Animals">
Somehow use <method> to `Insert` these strings to the properties IList
Cat
Dog
Mouse
</property>
<property name="People">
Bob
Joe
Jack
</property>
<property name="Objects">
Chair
Door
</property>
</register>
</register>
</container>
</unity>
根据MSDN调用一个方法,你可以使用以下XML:
<register type="MyLogger">
<method name="Initialize">
<param name="loggerSettings" />
</method>
</register>
但是我不知道如何将方法调用与<property>
标签混合。
应该如何编写XML以允许Unity调用要添加的属性的方法?
看这里:
<property name="Animals">
<array>
<value value="Cat"/>
<value value="Dog"/>
<value value="Mouse"/>
</array>
</property>