Mostrando entradas con la etiqueta net. Mostrar todas las entradas
Mostrando entradas con la etiqueta net. Mostrar todas las entradas
martes, 15 de junio de 2021
![.NET Core .NET Core](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXm_xGTBZrgJkL779NWFz042Us-0a8MWqA3hSQvoY9cPd8_JB0j0m9Japs85ewr9qkg3eqbjw7h42XAXiEUw1aI1fcWFemFa6otnTw8aEIm2yQgcvh5wCjjAUOvdDolYXugqnN1A/s1600/netcore.png)
No hace demasiado tiempo he descubierto en el framework la clase ActivatorUtilities
, una pequeña joyita disponible en Microsoft.Extensions.DependencyInjection
, que puede resultar interesante para implementar fácilmente factorías o cualquier tipo de código donde tengamos que instanciar manualmente clases con dependencias hacia servicios registrados en el contenedor de nuestra aplicación.
La clase estática ActivatorUtilities
ofrece básicamente tres métodos públicos:
CreateFactory()
, para crear factorías de objetos.CreateInstance()
/CreateInstance<T>()
, para crear instancias de objetos.GetServiceOrCreateInstance()
/GetServiceOrCreateInstance<T>()
, para obtener una instancia desde el inyector, o bien crearla manualmente conCreateInstance()
.
Veámoslos en mayor detalle.