System.Xml.XmlTextWriter.InternalWriteEndElement C# (CSharp) Method

InternalWriteEndElement() private method

private InternalWriteEndElement ( bool longFormat ) : void
longFormat bool
return void
        void InternalWriteEndElement(bool longFormat) {
            try {
                if (top <= 0) {
                    throw new InvalidOperationException(Res.GetString(Res.Xml_NoStartTag));
                }
                // if we are in the element, we need to close it.
                AutoComplete(longFormat ?  Token.LongEndElement : Token.EndElement);
                if (this.lastToken == Token.LongEndElement) {
                    if (this.indented) {
                        Indent(true);
                    }
                    textWriter.Write('<');
                    textWriter.Write('/');
                    if (this.namespaces && stack[top].prefix != null) {
                        textWriter.Write(stack[top].prefix);
                        textWriter.Write(':');
                    }
                    textWriter.Write(stack[top].name);
                    textWriter.Write('>');
                }

                // pop namespaces
                int prevNsTop = stack[top].prevNsTop;
                if (useNsHashtable && prevNsTop < nsTop) {
                    PopNamespaces(prevNsTop + 1, nsTop);
                }
                nsTop = prevNsTop;
                top--;
            }
            catch {
                currentState = State.Error;
                throw;
            }
        }