2008-12-11 7 views

Répondre

1

Ne serait-il préférable d'avoir simplement un constructeur public supplémentaire qui ne prend pas ces paramètres, vous auriez pas besoin d'enregistrer les paramètres de la configuration?

1

Cela a été discuté il ya un certain temps sur la liste de courrier, et au moment où j'ai regardé dans le code. Les valeurs nulles sont délibérément filtrées (principalement en raison de la résolution de type compliquée).

Je ne pouvais pas trouver un moyen simple de faire un cas spécial pour les ajouter.

+1

Je pense que la raison en est que les arguments constructeurs sont des dépendances obligatoires, donc null n'a aucun sens ici. –

5

Si vous voulez qu'elles soient nulles, cela signifie qu'elles sont des dépendances non essentielles. En les ayant comme arguments, vous suggérez le contraire. Vous devriez redessiner votre classe pour avoir un autre constructeur qui ne prend que les dépendances essentielles, si vous souhaitez qu'elles ne changent pas tout au long de la vie d'un objet (soyez en lecture seule), ou les exposer comme des propriétés.

Avec Windsor, vous ne pouvez pas faire passer les valeurs nulles, pour les raisons mentionnées dans l'autre réponse.

Questions connexes