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); } }