private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
        {
            Assembly assembly = null;

            if (!string.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
            {
                assembly = this._parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
            }
            if (!string.IsNullOrEmpty(nsRegisterEntry.Namespace))
            {
                this._parser.AddImportEntry(nsRegisterEntry.Namespace);
            }
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, this._parser);

            if (this._prefixedMappers == null)
            {
                this._prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }
            TagPrefixTagNameToTypeMapper mapper2 = (TagPrefixTagNameToTypeMapper)this._prefixedMappers[nsRegisterEntry.TagPrefix];

            if (mapper2 == null)
            {
                mapper2 = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                this._prefixedMappers[nsRegisterEntry.TagPrefix] = mapper2;
            }
            mapper2.AddNamespaceMapper(mapper);
            this.TagRegisterEntries.Add(nsRegisterEntry);
        }
예제 #2
0
        private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
        {
            // Load the assembly if it was specified
            Assembly assembly = null;

            if (!String.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
            {
                assembly = _parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
            }

            // Import the namespace if there is one
            if (!String.IsNullOrEmpty(nsRegisterEntry.Namespace))
            {
                _parser.AddImportEntry(nsRegisterEntry.Namespace);
            }

            // Create a mapper for this specific namespace/assembly pair
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, _parser);

            // Figure out which prefix mapper this new namespace mapper goes into
            if (_prefixedMappers == null)
            {
                _prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }

            TagPrefixTagNameToTypeMapper prefixMapper = (TagPrefixTagNameToTypeMapper)_prefixedMappers[nsRegisterEntry.TagPrefix];

            if (prefixMapper == null)
            {
                prefixMapper = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                _prefixedMappers[nsRegisterEntry.TagPrefix] = prefixMapper;
            }

            prefixMapper.AddNamespaceMapper(mapper);

            TagRegisterEntries.Add(nsRegisterEntry);
        }
        private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry) {
            // Load the assembly if it was specified
            Assembly assembly = null;
            if (!String.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
                assembly = _parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);

            // Import the namespace if there is one
            if (!String.IsNullOrEmpty(nsRegisterEntry.Namespace))
                _parser.AddImportEntry(nsRegisterEntry.Namespace);

            // Create a mapper for this specific namespace/assembly pair
            NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, _parser);

            // Figure out which prefix mapper this new namespace mapper goes into
            if (_prefixedMappers == null) {
                _prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
            }

            TagPrefixTagNameToTypeMapper prefixMapper = (TagPrefixTagNameToTypeMapper)_prefixedMappers[nsRegisterEntry.TagPrefix];
            if (prefixMapper == null) {
                prefixMapper = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
                _prefixedMappers[nsRegisterEntry.TagPrefix] = prefixMapper;
            }

            prefixMapper.AddNamespaceMapper(mapper);

            TagRegisterEntries.Add(nsRegisterEntry);
        }
 private void ProcessTagNamespaceRegistrationCore(TagNamespaceRegisterEntry nsRegisterEntry)
 {
     Assembly assembly = null;
     if (!string.IsNullOrEmpty(nsRegisterEntry.AssemblyName))
     {
         assembly = this._parser.AddAssemblyDependency(nsRegisterEntry.AssemblyName);
     }
     if (!string.IsNullOrEmpty(nsRegisterEntry.Namespace))
     {
         this._parser.AddImportEntry(nsRegisterEntry.Namespace);
     }
     NamespaceTagNameToTypeMapper mapper = new NamespaceTagNameToTypeMapper(nsRegisterEntry, assembly, this._parser);
     if (this._prefixedMappers == null)
     {
         this._prefixedMappers = new Hashtable(StringComparer.OrdinalIgnoreCase);
     }
     TagPrefixTagNameToTypeMapper mapper2 = (TagPrefixTagNameToTypeMapper) this._prefixedMappers[nsRegisterEntry.TagPrefix];
     if (mapper2 == null)
     {
         mapper2 = new TagPrefixTagNameToTypeMapper(nsRegisterEntry.TagPrefix);
         this._prefixedMappers[nsRegisterEntry.TagPrefix] = mapper2;
     }
     mapper2.AddNamespaceMapper(mapper);
     this.TagRegisterEntries.Add(nsRegisterEntry);
 }