Esempio n. 1
0
        public static IServiceCollection AddTagHelpersExtension <T>(this IServiceCollection services)
            where T : ITagHelpersExtension, new()
        {
            var extension = new T();

            if (extension.Providers != null)
            {
                foreach (var x in extension.Providers)
                {
                    services.AddSingleton(x.GetType(), x);
                }
            }
            if (extension.ProviderExtensions != null)
            {
                foreach (var x in extension.ProviderExtensions)
                {
                    TagHelpersProviderExtensionsRegister.Register(x);
                }
            }
            if (extension.HasEmbeddedFiles)
            {
                services.Configure <RazorViewEngineOptions>(options =>
                {
                    var assembly = typeof(T).GetTypeInfo().Assembly;
                    options.FileProviders.Add(
                        new EmbeddedFileProvider(assembly,
                                                 assembly?.GetName()?.Name));
                }
                                                            );
            }
            return(services);
        }
        private static void addExtensions()
        {
            var toAdd = TagHelpersProviderExtensionsRegister
                        .GetProcessors(typeof(DefaultServerControlsTagHelpersProvider));

            foreach (var x in toAdd)
            {
                allTagProcessors[x.Key] = x.Value;
            }
            var toAdd1 = TagHelpersProviderExtensionsRegister
                         .GetTemplates(typeof(DefaultServerControlsTagHelpersProvider));

            foreach (var x in toAdd1)
            {
                allTagDefaultTemplates[x.Key] = x.Value;
            }
        }