Je suis nouveau à Windsor, mais je suis certain qu'il doit y avoir un moyen de le faire ...Choisir le bon constructeur en utilisant un fichier de configuration externe à Windsor?
J'ai une classe avec trois constructeurs différents:
public MyClass(string SomeParam)
{
...
}
public MyClass(string AnotherParam, string YetAnother)
{
...
}
public MyClass(string AnotherOne, string YeahIKnow, string AnnoyingExampleParam)
{
...
}
Dans mon fichier de configuration externe , j'ai mon service défini comme:
<component
id="IMyClass"
service="IMyInterface, MyAssembly"
type="MyClass, MyOtherAssembly">
<parameters>
<AnotherOne>string value #1</AnotherOne>
<YeahIKnow>string value #2</YeahIKnow>
<AnnoyingExampleParam>string value #3</AnnoyingExampleParam>
</parameters>
</component>
lorsque Windsor initialise une instance de ma classe, il ne veut initialiser en utilisant le premier (seul paramètre de chaîne) constuctor de ma classe, quand je veux vraiment Windsor utiliser la troisième constructeur. Je ne vois rien dans les docs à propos de forcer le noyau à nous un constructeur particulier en utilisant une configuration externe, même si je peux trouver des références pour le faire en code, mais ce genre de défaites l'objectif d'une configuration externe !
Tout conseil serait apprécié.
Best,
David Montgomery
L'attribut type dans l'élément component manque l'assembly (et éventuellement l'espace de nom). Est-ce une faute de frappe? –
Oui, c'était une faute de frappe. –