Exemple #1
0
        public static IServiceCollection AddComponents(this IServiceCollection services)
        {
            services.AddDomApi();
            services.AddWindowApi();

            var iconOptions = new IconProviderOptions();

            iconOptions.AddDefaultIcons();

            // Add default "IIconProvider" service to prevent exceptions if the user doesn't manually call "AddIconProvider"
            services.TryAddSingleton <IIconProvider>(new IconProvider(iconOptions));

            return(services);
        }
Exemple #2
0
        public static IServiceCollection AddIconProvider(this IServiceCollection services, Action <IconProviderOptions>?configure)
        {
            var options = new IconProviderOptions();

            options.AddDefaultIcons();

            // Invoke configuration action
            configure?.Invoke(options);

            var alreadyExists = services.Any(x => x.ServiceType == typeof(IIconProvider));

            if (alreadyExists)
            {
                return(services.Replace(
                           new ServiceDescriptor(typeof(IIconProvider), new IconProvider(options))));
            }
            else
            {
                return(services.AddSingleton <IIconProvider>(
                           new IconProvider(options)));
            }
        }