示例#1
0
        internal static void Prepare(IHostingEnvironment env)
        {
            var tenum = DefaultAssemblyPartDiscoveryProvider.DiscoverAssemblyParts(env.ApplicationName).
                        Where(m => !m.Name.StartsWith("MvcControlsToolkit"))
                        .SelectMany(m => (m as AssemblyPart).Types).Where(m => m.IsPublic &&
                                                                          m.GetInterfaces().Contains(typeof(ITagHelpersProviderExtension)))
                        .Select(m => m.AsType());

            foreach (var x in tenum)
            {
                ITagHelpersProviderExtension curr = Activator.CreateInstance(x) as ITagHelpersProviderExtension;
                var res = GetProcessors(curr.For);
                if (res.Count == 0)
                {
                    allExtensions[curr.For] = res;
                }
                res.AddRange(curr.TagProcessors);
                var res1 = GetTemplates(curr.For);
                if (res1.Count == 0)
                {
                    allTemplates[curr.For] = res1;
                }
                res.AddRange(curr.TagProcessors);
            }
        }
示例#2
0
        internal static void Prepare(IHostingEnvironment env)
        {
            var tenum = Assembly
                        .GetEntryAssembly()
                        .GetReferencedAssemblies()
                        .Where(m => !m.Name.StartsWith("Microsoft") && !m.Name.StartsWith("System"))
                        .Select(Assembly.Load)
                        .SelectMany(m => m.DefinedTypes)
                        .Where(m => m.IsPublic &&
                               m.GetInterfaces().Contains(typeof(ITagHelpersProviderExtension)))
                        .Select(m => m.AsType());

            foreach (var x in tenum)
            {
                ITagHelpersProviderExtension curr = Activator.CreateInstance(x) as ITagHelpersProviderExtension;
                var res = GetProcessors(curr.For);
                if (res.Count == 0)
                {
                    allExtensions[curr.For] = res;
                }
                res.AddRange(curr.TagProcessors);
                var res1 = GetTemplates(curr.For);
                if (res1.Count == 0)
                {
                    allTemplates[curr.For] = res1;
                }
                res.AddRange(curr.TagProcessors);
            }
        }
示例#3
0
        internal static void Register(ITagHelpersProviderExtension x)
        {
            ITagHelpersProviderExtension curr = x;
            var res = GetProcessors(curr.For);

            if (res.Count == 0)
            {
                allExtensions[curr.For] = res;
            }
            res.AddRange(curr.TagProcessors);
            var res1 = GetTemplates(curr.For);

            if (res1.Count == 0)
            {
                allTemplates[curr.For] = res1;
            }
            res.AddRange(curr.TagProcessors);
        }