public void AddTabField(IFieldsEdit ifieldsEdit_0, IntPtr intptr_0) { int num = TabRead._mitab_c_get_field_count(intptr_0); for (int i = 0; i < num; i++) { IFieldEdit field = new ESRI.ArcGIS.Geodatabase.Field() as IFieldEdit; field.Name_2 = TabRead._mitab_c_get_field_name(intptr_0, i); int num3 = TabRead._mitab_c_get_field_type(intptr_0, i); int num4 = TabRead._mitab_c_get_field_width(intptr_0, i); int num5 = TabRead._mitab_c_get_field_precision(intptr_0, i); switch (num3) { case 1: case 7: field.Type_2 = esriFieldType.esriFieldTypeString; field.Length_2 = num4; break; case 2: field.Type_2 = esriFieldType.esriFieldTypeInteger; field.Precision_2 = num4; break; case 3: field.Type_2 = esriFieldType.esriFieldTypeSmallInteger; field.Precision_2 = num4; break; case 4: field.Type_2 = esriFieldType.esriFieldTypeDouble; field.Precision_2 = num4; field.Scale_2 = num5; break; case 5: field.Type_2 = esriFieldType.esriFieldTypeSingle; field.Precision_2 = num4; break; case 6: field.Type_2 = esriFieldType.esriFieldTypeDate; break; default: { continue; } } ifieldsEdit_0.AddField(field); } }