2010-02-02 5 views
1

Comment faire pour définir une propriété Nullable d'une classe à null via le fichier de configuration de Windsor?Définir la propriété Nullable à null via le fichier de configuration de Windsor?

Disons que j'ai une classe comme ceci:

public class MyComponent 
{ 
    public int? MyProperty { get; set; } 
} 

et un fichier de configuration semblable à ceci:

<component id="MyComponent" ...> 
    <parameters> 
     <MyProperty>!!! what do I put here? !!!</MyProperty> 
    </parameters> 
</component> 

Que dois-je mettre dans le texte intérieur ci-dessus pour définir la propriété null? (oui, je sais dans cet exemple, il sera en fait nul par défaut, mais imaginez qu'il est défini dans constructeur à autre chose)

Le texte vide ne fonctionne pas - J'ai vérifié.

+0

Je ne pense pas que vous pouvez le faire hors de la boîte. Vous pouvez écrire une facilité pour cela, ou enregistrer le composant à partir du code. –

+0

Je suis d'accord avec Krzysztof, il n'y a pas de façon intégrée de le faire. Veuillez créer un problème: http://support.castleproject.org/projects/IOC –

Répondre

1

Ce n'est pas possible, mais je ne considère pas cela comme une caractéristique manquante. Si vous n'en avez pas besoin - soyez explicite à ce sujet - créez un constructeur sans ce paramètre, et Windsor s'en chargera très bien.

+0

Je ne le veux pas en tant que paramètre constructeur, car il s'agit d'une valeur non obligatoire qui est définie par défaut dans la classe. Je suis complètement d'accord avec Windsor ne le supportant pas, je suppose que je voulais juste transmettre deux choses dans une propriété: les deux temps quelque chose devrait être fait (null/non null) et un argument pour cette chose (valeur non nulle). Je peux facilement le diviser en deux propriétés: un booléen (faire/ne pas faire quelque chose) et la valeur. –

+0

Je suis d'accord (encore) avec Krzysztof mais je pense aussi qu'un paramètre vide dans xml devrait mettre la propriété à null. OMI c'est un comportement inattendu de ne pas le faire. –

Questions connexes