public override byte[] ReadContentAsBase64()
{
if (_trailByteCount == 0 && _trailCharCount == 0 && _value == null)
{
XmlNode node = this.Node;
if (node.IsAtomicValue)
{
byte[] value = node.Value.ToByteArray();
if (value.Length > _quotas.MaxArrayLength)
XmlExceptionHelper.ThrowMaxArrayLengthExceeded(this, _quotas.MaxArrayLength);
SkipValue(node);
return value;
}
}
if (!_bufferReader.IsStreamed)
return ReadContentAsBase64(_quotas.MaxArrayLength, _bufferReader.Buffer.Length);
return ReadContentAsBase64(_quotas.MaxArrayLength, XmlDictionaryReader.MaxInitialArrayLength); // Initial count will get ignored
}