/// <summary> /// Generates a <see cref="EnumValue"/> object from its XML representation. /// </summary> /// <param name="reader"> /// an instance of <see cref="XmlReader"/> /// </param> public override void ReadXml(XmlReader reader) { base.ReadXml(reader); using (var subtree = reader.ReadSubtree()) { while (subtree.Read()) { if (subtree.MoveToContent() == XmlNodeType.Element && reader.LocalName == "EMBEDDED-VALUE") { var embeddedValue = new EmbeddedValue(this); embeddedValue.ReadXml(subtree); } } } }
/// <summary> /// Asynchronously generates a <see cref="EnumValue"/> object from its XML representation. /// </summary> /// <param name="reader"> /// an instance of <see cref="XmlReader"/> /// </param> /// <param name="token"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> internal async Task ReadXmlAsync(XmlReader reader, CancellationToken token) { base.ReadXml(reader); using (var subtree = reader.ReadSubtree()) { while (await subtree.ReadAsync()) { if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } if (await subtree.MoveToContentAsync() == XmlNodeType.Element && reader.LocalName == "EMBEDDED-VALUE") { var embeddedValue = new EmbeddedValue(this, this.loggerFactory); embeddedValue.ReadXml(subtree); } } } }