代码之家  ›  专栏  ›  技术社区  ›  miguel

将字符串列表或字符串数组传递到Unity注入构造函数(基于配置)

  •  2
  • miguel  · 技术社区  · 16 年前

    在使用XML配置时,试图将字符串数组传递到构造函数参数列表中时,我似乎无法使unity工作。

    当我尝试以下方法时:

    <typeConfig ...>
      <constructor ...>
        <param ... parameterType="System.String[]">
         <array>    
          <value.../>
          <value.../>
         </array>
        </param> 
      </constructor>
    </typeConfig>
    

    对于这样一个c'tor:

    void Foo(string[] inputParams_){ ... }
    

    在Unity的FindConstructor(…)方法中,它总是失败,该方法声明它找不到与String.String参数类型匹配的c'tor

    有人知道如何将一系列毒刺成功地插入这种类型的毒刺吗?如果没有,如果c'tor要接受IList,我如何使用字符串列表?

    3 回复  |  直到 16 年前
        1
  •  2
  •   javi    13 年前

    元素“param”不需要属性“parameterType”

    这将有助于:

        <constructor>
          <param name="eventsDefinitions">
            <array>
              <value value="PhaseLoss"/>
              <value value="DCRC" />
              <value value="PhaseRotation" />
            </array>
          </param>
        </constructor>
    
        2
  •  1
  •   Community Mohan Dere    9 年前

    通常我更喜欢在代码中配置Unity,所以如果必须配置的话,我可能没有那么大的帮助。但是

    通常我会使用

    container.Configure() 价值 ]))

    但根据: Can I pass constructor parameters to Unity's Resolve() method?

    “容器。解析(新) “bar”{“address”,42});"

        3
  •  0
  •   Peter Lillevold Rene    16 年前

    可能您必须完全限定类型名称:

    System.String[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
    

    或者,如果您不关心/不知道,您可以删除该版本。

    推荐文章