internal int CopyTo(int valueOffset, char[] buffer, int offset, int length)
{
if (_value == null)
{
Debug.Assert(_valueStartPos != -1);
Debug.Assert(_chars != null);
int copyCount = _valueLength - valueOffset;
if (copyCount > length)
{
copyCount = length;
}
XmlTextReaderImpl.BlockCopyChars(_chars, _valueStartPos + valueOffset, buffer, offset, copyCount);
return(copyCount);
}
else
{
int copyCount = _value.Length - valueOffset;
if (copyCount > length)
{
copyCount = length;
}
_value.CopyTo(valueOffset, buffer, offset, copyCount);
return(copyCount);
}
}