Pergunta

Eu gostaria de melhorar / imitar a injeção de dependência feito pelo construtor objeto para incluir algumas propriedades personalizadas

o caminho padrão é

em mySmartPart.cs

[CreateNew] MyPresenter ABC { .... }

[ServiceDependency] myService XYZ { ... }

incluem [MyCustomReferenceAttribute] CustomerObject myCustomer { .... }

etc.

Isto pode, obviamente, ser feito após a smartpart é criada, mas eu estou supondo (esperando?) Há algum lugar que eu possa ligar alguns extensão de código para fazer o necessário em vez de repetir o código everyplace !!!

Foi útil?

Solução

Unidade / ObjectBuilder usa um Chain of Responsibility chamou sua cadeia de Estratégia. Você pode plugin de seus próprios passos nesta cadeia para obter alguma personalização para fora de como Unidade / ObjectBuilder faz sua construção objeto.

Veja mais informações sobre o projeto da Unidade: http: // MSDN. microsoft.com/en-us/library/cc440939.aspx

Meu instinto diz que você está realmente querendo substituir grandes partes do Unity. Eu acho que isso seria necessário que você gut grandes partes desta cadeia de estratégia e substituí-lo com versões personalizadas.

Dependendo do que você está tentando realizar, é possível que simplesmente herdar seus atributos de DependencyResolutionAttribute e apenas adicionar uma estratégia para o StrategyChain. Veja como as estratégias padrão são configurados (e também uma lista completa de estratégias em uso em Unity: http://unity.codeplex.com/SourceControl/changeset/view/39621#427281

Eu sei que isso é um monte de informações, mas espero que este dá-lhe algumas direções.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top