protected override void Dispose(bool disposing)
 {
     ColumnNames.Clear();
     ColumnIndex.Clear();
     IndexToName.Clear();
     NameToIndex.Clear();
 }
 protected virtual void AddFields(int i, string name, PropertyInfo propertyInfo)
 {
     ColumnNames.Add(name, propertyInfo);
     ColumnIndex.Add(i, propertyInfo);
     IndexToName.Add(i, name);
     NameToIndex.Add(name, i);
 }