public static IServiceCollection AddCommanders(this IServiceCollection serviceCollection, IDefaultCommanderProvider provider, Assembly[] assemblies) { foreach (var a in assemblies) { var types = a.GetTypes() .Where(t => t.IsCommander()) ; serviceCollection.AddCommanders(provider, types.ToArray()); } return(serviceCollection); }
public static IServiceCollection AddCommanders(this IServiceCollection serviceCollection, IDefaultCommanderProvider provider, Type[] commanderTypes) { serviceCollection.AddSingleton(provider); foreach (var type in commanderTypes.Where(t => !t.IsAbstract & t.IsCommander())) { Debug.WriteLine($"Register commander '{type.Name}'."); serviceCollection.AddTransient(type, type); } return(serviceCollection); }
public static IServiceCollection AddCommanders(this IServiceCollection serviceCollection, IDefaultCommanderProvider provider, Assembly assembly) { return(serviceCollection.AddCommanders(provider, new[] { assembly })); }