public void Register(IServiceRegistry registry, Type serviceType) { if (serviceType.HasGenericInterfaceTypeDefinition(typeof(ICommandHandler<>))) { var baseTypes = serviceType.GetInterfaces().Where(x => x.Name == typeof(ICommandHandler<>).Name); foreach (var baseType in baseTypes) { registry.RegisterType(baseType, serviceType, ServiceLifecycle.Transient); } } }