2009-11-03 3 views
1

J'essaie d'utiliser Spring.NET avec une application C# pour remplir un argument constructeur de tableau de paramètres (mot-clé params) qui est de type complexe (appelez-le SecretCode, qui se trouve être un type énuméré.)Comment utiliser l'argument params de type complexe dans le constructeur Spring.NET

Quelqu'un peut-il m'aider à me diriger vers la documentation pour configurer le fichier XML pour ce 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?

Répondre

1

J'ai posté la question afin de partager la réponse que j'ai trouvée, et de voir si quelqu'un qui connaît Spring.NET plus à fond avait une meilleure réponse.

La configuration j'ai fini avec c'est:

<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> 
+0

Ceci est la IMHO de configuration correcte. Je ne pense pas qu'il n'y a pas d'autre moyen. – BennyM

Questions connexes