XmlReader、XmlWriter
XmlReader
public abstract partial class XmlReader : IDisposable { public virtual void Close() { } public void Dispose() { Dispose(true); } protected virtual void Dispose(bool disposing) { if (disposing && ReadState != ReadState.Closed) { Close(); } } public virtual async Task<object> ReadContentAsObjectAsync() { if (!CanReadContentAs()) { throw CreateReadContentAsException("ReadContentAsObject"); } return await InternalReadContentAsStringAsync().ConfigureAwait(false); } public virtual async Task<object> ReadElementContentAsAsync(Type returnType, IXmlNamespaceResolver namespaceResolver) { if (await SetupReadElementContentAsXxxAsync("ReadElementContentAs").ConfigureAwait(false)) { object value = await ReadContentAsAsync(returnType, namespaceResolver).ConfigureAwait(false); await FinishReadElementContentAsXxxAsync().ConfigureAwait(false);
return value; } } }
XmlWriter
public abstract partial class XmlWriter : IDisposable { public virtual void Close() { } public void Dispose() { Dispose(true); } protected virtual void Dispose(bool disposing) { if (disposing && WriteState != WriteState.Closed) { Close(); } } private async Task WriteAttributeStringAsyncHelper(Task task, string value) { await task.ConfigureAwait(false); await WriteStringAsync(value).ConfigureAwait(false); await WriteEndAttributeAsync().ConfigureAwait(false); } }

浙公网安备 33010602011771号