315 {
318 {
319 return false;
320 }
322 {
323 return false;
324 }
326 {
327 return false;
328 }
330 try
331 {
332 bool flag = false;
333 while (!flag && !
base.BufferReader.EndOfFile)
334 {
337 int num;
338 switch (nodeType)
339 {
340 case XmlBinaryNodeType.Bytes8TextWithEndElement:
341 num =
base.BufferReader.ReadUInt8();
342 flag = true;
343 break;
344 case XmlBinaryNodeType.Bytes16TextWithEndElement:
345 num =
base.BufferReader.ReadUInt16();
346 flag = true;
347 break;
348 case XmlBinaryNodeType.Bytes32TextWithEndElement:
349 num =
base.BufferReader.ReadUInt31();
350 flag = true;
351 break;
352 case XmlBinaryNodeType.EndElement:
353 num = 0;
354 flag = true;
355 break;
356 case XmlBinaryNodeType.Bytes8Text:
357 num =
base.BufferReader.ReadUInt8();
358 break;
359 case XmlBinaryNodeType.Bytes16Text:
360 num =
base.BufferReader.ReadUInt16();
361 break;
362 case XmlBinaryNodeType.Bytes32Text:
363 num =
base.BufferReader.ReadUInt31();
364 break;
365 default:
366 return false;
367 }
368 base.BufferReader.Advance(num);
369 if (
length2 >
int.MaxValue - num)
370 {
371 return false;
372 }
374 }
376 return true;
377 }
378 finally
379 {
381 }
382 }
XmlBinaryNodeType GetNodeType()