public override void WriteEndElement()
{
if (IsClosed)
ThrowClosed();
if (_depth == 0)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.XmlInvalidDepth, "WriteEndElement", _depth.ToString(CultureInfo.InvariantCulture))));
if (_writeState == WriteState.Attribute)
WriteEndAttribute();
FlushBase64();
if (_writeState == WriteState.Element)
{
_nsMgr.DeclareNamespaces(_writer);
_writer.WriteEndStartElement(true);
}
else
{
Element element = _elements[_depth];
_writer.WriteEndElement(element.Prefix, element.LocalName);
}
ExitScope();
_writeState = WriteState.Content;
}