public Toaster(ToasterConfiguration configuration) { Configuration = configuration; Configuration.OnUpdate += ConfigurationUpdated; ToastLock = new ReaderWriterLockSlim(); Toasts = new List <Toast>(); Version = GetType().InformationalVersion(); }
/// <summary> /// Adds a singleton <see cref="IToaster"/> instance to the DI <see cref="IServiceCollection"/> with an action for configuring the default <see cref="ToasterConfiguration"/> /// </summary> public static IServiceCollection AddToaster(this IServiceCollection services, Action <ToasterConfiguration> configure) { if (configure == null) { throw new ArgumentNullException(nameof(configure)); } var options = new ToasterConfiguration(); configure(options); return(AddToaster(services, options)); }
public Toaster(ToasterConfiguration configuration) { Configuration = configuration; Configuration.OnUpdate += ConfigurationUpdated; Version = GetType().InformationalVersion(); }
/// <summary> /// Adds a singleton <see cref="IToaster"/> instance to the DI <see cref="IServiceCollection"/> with the specified <see cref="ToasterConfiguration"/> /// </summary> public static IServiceCollection AddToaster(this IServiceCollection services, ToasterConfiguration configuration) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } services.TryAddScoped <IToaster>(builder => new Toaster(configuration)); return(services); }