Question

Je voudrais améliorer / mimer l'injection de dépendance fait par le constructeur de l'objet afin d'inclure des propriétés personnalisées

la manière standard est

dans mySmartPart.cs

[CreateNew]   MyPresenter ABC   {  ....   }

[servicedependency]   myService XYZ   {  ...   }

inclure    [MyCustomReferenceAttribute]    CustomerObject MyCustomer    {  ....    }

etc.

Cela peut évidemment être fait après la SmartPart est créé, mais je devine (en espérant?) Il y a un endroit que je peux brancher une extension de code pour faire le nécessaire au lieu de répéter le code Everyplace !!!

Était-ce utile?

La solution

modèle Unité / ObjectBuilder utilise une chaîne de responsabilité appelée la chaîne de stratégie. Vous pouvez plugins vos propres étapes de cette chaîne pour obtenir une certaine personnalisation de la façon dont l'unité / ObjectBuilder fait la construction de l'objet.

Voici plus d'informations sur la conception de l'unité: http: // msdn. microsoft.com/en-us/library/cc440939.aspx

Mon instinct vous dit que vous êtes vraiment désireux de remplacer une grande partie de l'unité. Je pense que cela vous obligera à éviscérer une grande partie de cette chaîne de stratégie et de le remplacer par des versions personnalisées.

En fonction de ce que vous essayez d'accomplir, il est possible qui héritant simplement vos attributs DependencyResolutionAttribute et juste ajouter une stratégie à l'StrategyChain. Voilà comment les stratégies par défaut sont configurées (et une liste complète des stratégies utilisées dans l'unité:

scroll top