在Unity配置XML中初始化一个列表

本文关键字:一个 列表 初始化 Unity 配置 XML | 更新日期: 2023-09-27 18:07:50

我需要初始化一个具有多个属性的对象。这些性质是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调用要添加的属性的方法?

在Unity配置XML中初始化一个列表

看这里:

<property name="Animals">
    <array>
        <value value="Cat"/>
        <value value="Dog"/>
        <value value="Mouse"/>
    </array>
</property>