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; } }