Используя Unity, я хотел бы автоматически регистрировать все комбинации интерфейса / класса в сборке на основе следующего соглашения:
INameOfObject > NameOfObject
StructureMap делает это, когда включены соглашения по умолчанию.
Я написал для него следующий метод:
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;
}
Мой вопрос:
- есть ли встроенная функция, которая делает то же самое?
- если нет, можно ли улучшить мой код с точки зрения производительности?