personalizado SCSF Dependency Injection
-
12-09-2019 - |
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 !!!
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.