1. IField接口(esriGeoDatabase)
IField接口的第一个属性AliasName(只读,获得字段的别名)
IField接口的第二个方法CheckValue(Value)(方法,对于指定的属性字段,基于字段类型判断参数值是否有效,有效,则返回True,否则返回False) 例子代码:
1.
2.
Set pField = pFields.Field(6) ’第六个字段 bChkField = pField.CheckValue(45.86)
3. If bChkField = True Then……
IField接口的其他属性均为只读属性,常用有Name(只读,获得字段的名称) 例子代码:
1.
2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Dim pFields As IFields Dim pField As IField
Dim pGeoDef As IGeometryDef Dim pDomain As IDomain Dim i As Long
Set pFields = pFeatClass.Fields For i = 0 To pFields.FieldCount - 1 Set pField = pFields.Field(i)
If pField.Type = esriFieldTypeGeometry Then Set pGeoDef = pField.GeometryDef Else
Debug.Print pField.AliasName Debug.Print pField.DefaultValue Set pDomain = pField.Domain Debug.Print pField.Editable Debug.Print pField.IsNullable Debug.Print pField.Length Debug.Print pField.Name Debug.Print pField.Precision Debug.Print pField.Required Debug.Print pField.Scale Debug.Print pField.Type Debug.Print pField.VarType End If Next
2. IFieldEdit接口(esriGeoDatabase)
所有该接口的属性均为可读可写,经常用与对新建字段的设置,因为字段一旦被设置,其基本属性就不能被更改,所以就需要该接口类型的变量去转换,方法为:
IFeatureClass pFC_SCP_PT;
IFieldEdit editPT = new FieldClass(); pFC_SCP_PT.AddField((IField)editPT);
如果在vb中去编写代码,则赋值和获取均为同一属性,而在C#中,为了区分设置和获取,属性均有两个,类似于Name和Name_2,这样就可以区分了,普遍用设置的带有_2的那个属性。
IFieldEdit接口的第一个属性Name (读写,设置或者获取该变量类型变量字段的名称) IFieldEdit接口的第二个属性Precision(读写,设置或者获取该变量类型变量字段的长度) IFieldEdit接口的第三个属性Scale(读写,设置或者获取该变量类型变量字段的精度) IFieldEdit接口的第四个属性Type(读写,设置或者获取该变量类型变量字段的类型) 例子代码: 1. 2. 3. 4. 5. 6.
3. IFi