public static IServiceCollection AddJwSalePackManager(this IServiceCollection services) { services.CheckNotNull("services"); IJwSalePackBuilder builder = services.GetSingletonInstanceOrNull <IJwSalePackBuilder>() ?? new JwSalePackBuilder(); services.TryAddSingleton <IJwSalePackBuilder>(builder); PackManager manager = new PackManager(); services.AddSingleton <IPackManager>(manager); manager.LoadPacks(services); return(services); }
public static IServiceCollection AddJwSalePackManager(this IServiceCollection services, Action <IJwSalePackBuilder> builderAction) { services.CheckNotNull("services"); IJwSalePackBuilder builder = services.GetSingletonInstanceOrNull <IJwSalePackBuilder>() ?? new JwSalePackBuilder(); builderAction?.Invoke(builder); services.TryAddSingleton <IJwSalePackBuilder>(builder); PackManager manager = new PackManager(); services.AddSingleton <IPackManager>(manager); manager.LoadPacks(services); //foreach (var pack in builder.Packs) //{ // services.TryAddSingleton(pack); //} return(services); }