示例#1
0
        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);
            }
        }