2010-09-05 6 views
0

J'ai le code qui a été précédemment en ajoutant ExtendedProperties à des composants commeWindsor Castle 2.5 Les modifications récentes

component.ExtendedProperties(new { prop = someObject }); 

Cette méthode est plus disponible et le constructeur de la propriété est marquée interne.

Existe-t-il une nouvelle façon de procéder pour la version 2.5?

Spécifiquement, j'ai un ComponentActivator personnalisé qui a besoin de certaines informations d'instance au moment de la résolution de l'enregistrement initial. Je stockons ces informations dans les ExtendedProperties puis récupérer dans le constructeur ComponentActivator utilisant

model.ExtendedProperties["prop"] as MyObjectType; 

Répondre

1

Cela n'a jamais été modifié dans la version .NET, donc je suppose que vous parlez de version pour Silverlight.

Cette méthode sera de retour dans la version 2.5.1, mais en raison du comportement restrictif de l'exécution de Silverlight, vous devrez rendre les types internes de votre assembly visibles à Castle.Core.

manière alternative, qui fonctionne sur toutes les versions est la suivante:

component.ExtendedProperties(Property.ForKey("prop").Eq(someObject)); 
+0

Parfait, merci. Oui, c'est pour SL, mais j'utilise les mêmes DLL Castle pour un assemblage compilé SL 4 qui est utilisé à la fois par mon application web .NET complète et mon application client SL 4 (à cause de la compatibilité binaire). – Jeff

Questions connexes