con Unity, me gustaría registrar automáticamente todas las combinaciones de interfaz/clase en una asamblea sobre la base de la siguiente convención:registre automáticamente todas las interfaces con Unity
INameOfObject > NameOfObject
StructureMap hace que cuando las convenciones están habilitadas por defecto .
me escribió el siguiente método para ello:
private static IUnityContainer RegisterITypesOf(this IUnityContainer container, string assemblyName)
{
Assembly.Load(assemblyName)
.GetTypes()
.Where(t => t.GetInterfaces().Any(i => i.Name == "I" + t.Name))
.ForEach(t => container.RegisterType(t.GetInterface("I" + t.Name, false), t));
return container;
}
Mi pregunta es:
- hay una función incorporada que hace lo mismo?
- si no, ¿se puede mejorar mi código de rendimiento?
Niza lib! Casi lo hace de la misma manera, así que voy a suponer que es la mejor manera de hacerlo :) – David