int GetOrdinal(string name)
{
if (_names != null) {
string n = _nt.Add(name);
for (int i = 0; i < _names.Length; i++) {
if ((object)_names[i] == (object)n)
return i;
}
throw new Exception("Attribute '"+name+"' not found.");
}
// names are assigned a0, a1, a2, ...
return Int32.Parse(name.Substring(1));
}