ArcObjects Library Reference (GeoDatabase)  

IFields Interface

Provides access to members that return information about the fields. Note: the IFields interface has been superseded byIFields2. Please consider using the more recent version.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


The Fields object represents a collection of columns in a table. The term field is synonymous with column. Each table in a database has an ordered collection of fields, there is always at least one field in a table. The ordered collection behaves like a list, so it is possible to access individual fields by a numbered position (or index) in the list.


Read-only property Field The field at the specified index in the fields collection.
Read-only property FieldCount The number of fields in the fields collection.
Method FindField Finds the index of the named field in the fields collection.
Method FindFieldByAliasName Finds the index of the field with the alias name in the fields collection.

CoClasses that implement IFields

CoClasses and Classes Description
Fields Esri Fields object.


The IFields interface provides information about a Fields collection and also provides access to individual fields. When using IFields::FindField, remember that there are equivalent methods on IClass and ICursor—they are shortcuts which save you having to get the Fields collection.

When programming with ArcMap, there is a distinction between IFields and two other interfaces, ILayerFields and ITableFields. ILayerFields is particular to an ArcMap layer, so for example, an alias name belongs to the field as defined in that layer rather than being stored with the underlying table.

.NET Snippets

Write Blob Field Contents To File | Write Blob File Contents To Table Row Field | Create Table | Create FeatureClass

.NET Samples

Convert part to feature command (Code Files: ConvertPart) | Curve conversion add-in (Code Files: CurveConversionDockWin) | ArcGIS Network Analyst extension Engine application (Code Files: frmMain) | Find an address (Code Files: AddressForm) | ViperPin tool (Code Files: ViperPinForm) | Create a custom raster type (Code Files: ThumbnailBuilder) | Utility wizard for basic schematic datasets configuration (Code Files: GenerateSchematicTemplate) | Create a custom raster type from the ground up for DMCII data (Code Files: DMCIIRasterType) | Find the closest intersection from a point (Code Files: FindClosestIntersection) | Implementing extended criteria for some predefined schematic rules (Code Files: ExpandLinks) | Calculate area geoprocessing function tool (Code Files: CalculateAreaFunction) | StreetMap routing (Code Files: RoutingForm) | Timestamper class extension (Code Files: TimestampClassDescription TimestampClassExtension TimestampPropertyPage) | Create an NDVI custom raster function (Code Files: NDVICustomFunction) | Single line address geocoding (Code Files: SingleLineGeocodingForm) | Retrieve a color ramp from the SymbologyControl (Code Files: SymbolForm) | Create a custom raster function (Code Files: WatermarkFunction) | Reducing schematic nodes and computing a cumulative attribute via a schematic rule (Code Files: NodeReductionRule) | Migrating from VB6 to VB .NET for ArcGIS 10 (Code Files: ButtonAddIn clscopy_table_sel clsCopyTableSelection) | Time Series Graph tool add-in (Code Files: TimeSeriesGraph)

.NET Related Topics

Assigning domains to fields | Building a custom geoprocessing function tool | Converting simple data | Copying or loading data while preserving GlobalID values | Creating a plug-in data source | Creating an address locator | Creating annotation and dimension feature classes | Creating class extensions | Creating feature classes | Creating fields | Creating indexes | Creating relationship classes | Creating tables | Defining a renderer for a layer | Geodatabase | Geodatabase API best practices | Geoprocessing services | How to find the address closest to a point using reverse geocoding | How to geocode a single address | How to geocode a table of addresses | How to standardize an address | How to work with geocoding properties | Listing fields | Migrating VB6 to VB.NET for ArcGIS 10 | Working with fields | Working with indexes