private int Position(string name)
{
if (_cache == null)
{
return -1;
}
if (_cache._memberNames.Length > 0 && _cache._memberNames[_lastPosition].Equals(name))
{
return _lastPosition;
}
else if ((++_lastPosition < _cache._memberNames.Length) && (_cache._memberNames[_lastPosition].Equals(name)))
{
return _lastPosition;
}
else
{
// Search for name
for (int i = 0; i < _cache._memberNames.Length; i++)
{
if (_cache._memberNames[i].Equals(name))
{
_lastPosition = i;
return _lastPosition;
}
}
_lastPosition = 0;
return -1;
}
}