【问题标题】:How to use complex Type params argument in Spring.NET constructor如何在 Spring.NET 构造函数中使用复杂的 Type params 参数
【发布时间】:2009-11-03 18:55:49
【问题描述】:

我正在尝试将 Spring.NET 与 C# 应用程序一起使用来填充复杂类型的参数数组(params 关键字)构造函数参数(称为 SecretCode,它恰好是枚举类型。)

有人可以帮我看一下配置 XML 文件的文档吗?

供参考,下面是相关代码sn-ps:

public class MyValueSet<T> where T: struct
{
  public MyValueSet(params T[] values) {...}
} 

public class DerivedClass : MyValueSet<SecretCode> {...}

public enum SecretCode {...}

我试图用 Spring.NET 配置文件替换的硬编码代码是(足够接近)这个:

var something = new DerivedClass(SecretCode.One, SecretCode.Two, SecretCode.Fifty-Two);

想法?

【问题讨论】:

    标签: constructor spring.net params params-keyword


    【解决方案1】:

    我发布这个问题是为了分享我想出的答案,看看是否有更深入了解 Spring.NET 的人有更好的答案。

    我最终得到的配置是这样的:

    <object id="myobject" type="DerivedClass, Assembly.Containing.The.DerivedClass">
      <constructor-arg name="values">
        <list element-type="SecretCode, Assembly.Containing.The.SecretCode.Enumeration">
          <value>One</value>
          <value>Two</value>
          <value>Fifty-Two</value>
        </list>
      </constructor-arg>
    </object>
    

    【讨论】:

    • 这是正确的配置恕我直言。我认为没有其他办法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多