public override void MoveToAttribute(int attributeIndex) {
if ( !IsInReadingStates() )
throw new ArgumentOutOfRangeException( "attributeIndex" );
readerNav.ResetMove( ref curDepth, ref nodeType );
try {
if (AttributeCount > 0) {
readerNav.MoveToAttribute( attributeIndex );
if ( bInReadBinary ) {
FinishReadBinary();
}
}
else
throw new ArgumentOutOfRangeException( "attributeIndex" );
} catch {
readerNav.RollBackMove(ref curDepth);
throw;
}
curDepth++;
nodeType = readerNav.NodeType;
}