IField与IFieldEdit区别 修改IField字段
1.IField和IFieldEdit区别:
IFieldEdit是继承IField的,因为IField的属性大部分是只读的(read-only),所以IFieldEdit就在IField的基础上多了个只写的属性。这也是为什么会出现Name_2、Length_2等原因了。IFields和IFieldsEdit的区别也是如此。
2.IField和IFields区别
IFields是IField的集合,通过AddField()方法或者set_Field()方法添加Field,其中set_Field通过index可以在指定的位置添加Field;
3.代码
IFeatureCursor pFeatureCursor = pFeatureClass.Insert(true); IFeatureBuffer pFeatureBuffer = pFeatureClass.CreateFeatureBuffer(); IFields pFields = pFeatureClass.Fields; IField pField = pFields.get_Field(pFields.FindField("DocPath")); IFieldEdit2 pFieldEdit=pField as IFieldEdit2; pFieldEdit.Length_2 = 20;