Domanda

Mi piacerebbe migliorare / imitare l'iniezione di dipendenza fatta dal costruttore oggetto di includere alcune proprietà personalizzate

il modo standard è

in mySmartPart.cs

[CreateNew]   MyPresenter ABC   {  ....   }

[ServiceDependency]   myService XYZ   {  ...   }

in include    [MyCustomReferenceAttribute]    CustomerObject MyCustomer    {  ....    }

ecc.

Questo può ovviamente essere fatto dopo aver creato lo SmartPart ma credo (sperando?) C'è un posto che posso agganciare qualche estensione codice per fare il necessario invece di ripetere il codice everyplace !!!

È stato utile?

Soluzione

Unità / ObjectBuilder utilizza una catena di responsabilità modello chiamato la sua catena di strategia. È possibile plug propri passi in questa catena per ottenere po 'di personalizzazione di come Unità / ObjectBuilder fa la sua costruzione oggetto.

Ecco maggiori informazioni circa il disegno di Unità: http: // MSDN. microsoft.com/en-us/library/cc440939.aspx

Il mio istinto dice che siete veramente voglia di sostituire gran parte dell'Unità. Penso che questo richiederebbe di gut gran parte di questa catena di strategia e sostituirlo con versioni personalizzate.

A seconda di ciò che si sta cercando di realizzare, è possibile che semplicemente ereditare gli attributi da DependencyResolutionAttribute e solo aggiungi una strategia per la StrategyChain. Ecco come le strategie di default sono configurati (ed anche un elenco completo di strategie in uso in Unity: http://unity.codeplex.com/SourceControl/changeset/view/39621#427281

So che questo è un sacco di informazioni, ma spero che questo ti dà un paio di direzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top