que estoy trabajando en un proyecto en el que se utiliza el marco de la Unidad como el contenedor IoC. Mi pregunta se refiere a la inyección de una dependencia opcional (en este caso un registrador) en varias clases que utilizan la inyección o propiedad-setter.Setter en la Unidad sin atributos
que no quieren el desorden de los constructores de todas mis clases con estas dependencias opcionales, pero no puedo encontrar una buena manera de manejar esto en la Unidad. La forma en que lo haría esto es, de acuerdo con el MSDN documentation, mediante la adición de un atributo de la propiedad:
private ILogger logger;
[Dependency]
public ILogger Logger
{
get { return logger; }
set { logger = value; }
}
Esto me parece muy feo. En StructureMap se podría hacer lo siguiente para configurar todas las propiedades de un tipo determinado:
SetAllProperties(policy => policy.OfType<ILog>());
¿Alguien sabe si es posible hacer algo similar en la Unidad?
Editar:
Kim Mayor sugiere el uso de this approach que también se puede lograr a través de código.
estaría interesado en ejemplos de cómo hacer esto automáticamente para todas las propiedades coincidentes.
Gracias por la sugerencia. Supongo que puedo usar esto como una solución alternativa, pero por lo que puedo ver, esto requiere que crees una configuración para cada clase que usa el registrador. Me preguntaba si era una forma de especificar esto una vez, de modo que todas las clases que usan el registrador se inyectaran automáticamente. – LittleBoyLost
No he intentado lo siguiente, así que no estoy seguro. Creo que deberías poder registrar todas tus clases.Luego, reflexione sobre las clases registradas y agregue el registro de inyección del colocador si el tipo tiene un ajustador ILogger. –