public int IndexOf(string fieldName)
{
if (null == _fieldNameLookup)
{
GenerateLookup();
}
int index;
object value = _fieldNameLookup[fieldName];
if (null != value)
{
// via case sensitive search, first match with lowest ordinal matches
index = (int)value;
}
else
{
// via case insensitive search, first match with lowest ordinal matches
index = LinearIndexOf(fieldName, CompareOptions.IgnoreCase);
if (-1 == index)
{
// do the slow search now (kana, width insensitive comparison)
index = LinearIndexOf(fieldName, ADP.DefaultCompareOptions);
}
}
return index;
}