Пример #1
0
 // does not write start element or type attribute, writes other attributes and rest of content
 protected override void WriteContentsTo(XmlWriter writer)
 {
     if (writer == null)
     {
         throw new ArgumentNullException(nameof(writer));
     }
     if (_extension != null)
     {
         _extension.WriteToAsync(writer).GetAwaiter().GetResult();
     }
     else if (_contentBuffer != null)
     {
         using (XmlDictionaryReader reader = _contentBuffer.GetReader(0))
         {
             reader.MoveToStartElement();
             if (!reader.IsEmptyElement)
             {
                 reader.ReadStartElement();
                 while (reader.Depth >= 1 && reader.ReadState == ReadState.Interactive)
                 {
                     writer.WriteNode(reader, false);
                 }
             }
         }
     }
 }