System.Xml.Serialization.XmlSchemaImporter.AddScopeElement C# (CSharp) Method

AddScopeElement() private method

private AddScopeElement ( INameScope scope, ElementAccessor element, bool &duplicateElements, bool allowDuplicates ) : void
scope INameScope
element ElementAccessor
duplicateElements bool
allowDuplicates bool
return void
        private void AddScopeElement(INameScope scope, ElementAccessor element, ref bool duplicateElements, bool allowDuplicates)
        {
            if (scope == null)
                return;

            ElementAccessor scopeElement = (ElementAccessor)scope[element.Name, element.Namespace];
            if (scopeElement != null)
            {
                if (!allowDuplicates)
                {
                    throw new InvalidOperationException(SR.Format(SR.XmlDuplicateElementInScope, element.Name, element.Namespace));
                }
                if (scopeElement.Mapping.TypeDesc != element.Mapping.TypeDesc)
                {
                    throw new InvalidOperationException(SR.Format(SR.XmlDuplicateElementInScope1, element.Name, element.Namespace));
                }
                duplicateElements = true;
            }
            else
            {
                scope[element.Name, element.Namespace] = element;
            }
        }