我需要初始化一个具有许多属性的对象。这些属性为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调用要添加的属性上的方法?
答案 0 :(得分:1)
看here:
<property name="Animals">
<array>
<value value="Cat"/>
<value value="Dog"/>
<value value="Mouse"/>
</array>
</property>