Comment utiliser l'argument de type complexe params dans le constructeur Spring.NET
-
13-09-2019 - |
Question
Je suis en train d'utiliser Spring.NET avec une application C # pour remplir un argument du constructeur tableau de paramètres (mot-clé params) qui est d'un type complexe (appeler SecretCode, qui se trouve être un type énuméré.)
Quelqu'un peut-il aider à me pointer vers la documentation pour configurer le fichier XML pour le faire?
Pour référence, voici des extraits de code pertinents:
public class MyValueSet<T> where T: struct
{
public MyValueSet(params T[] values) {...}
}
public class DerivedClass : MyValueSet<SecretCode> {...}
public enum SecretCode {...}
Le code codé en dur, je suis en train de remplacer le fichier de configuration Spring.NET est (assez proche) ceci:
var something = new DerivedClass(SecretCode.One, SecretCode.Two, SecretCode.Fifty-Two);
Pensées?
La solution
J'ai posté la question afin de partager la réponse que je suis venu avec, et pour voir si quelqu'un qui sait Spring.NET avait plus à fond une meilleure réponse.
La configuration j'ai fini avec ceci:
<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>