Как использовать аргумент сложных параметров типа в конструкторе Spring.NET

StackOverflow https://stackoverflow.com/questions/1669422

Вопрос

Я пытаюсь использовать Spring.NET с приложением C# для заполнения аргумента конструктора массива параметров (ключевое слово params), который имеет сложный тип (назовите его SecretCode, который является перечислимым типом).

Может ли кто-нибудь помочь мне указать документацию, чтобы настроить XML-файл для этого?

Для справки, вот соответствующие фрагменты кода:

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);

Мысли?

Это было полезно?

Решение

Я опубликовал вопрос, чтобы поделиться ответом, который я придумал, и посмотреть, есть ли у кого-нибудь, кто знает 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top