# FieldLookupBase Class

> FieldLookupBase abstract base class of the V1 navigator facades, defining how a lookup string resolves to a field by field ID or display name.

## Definition

* Namespace: `UiPath.DocumentProcessing.Contracts.Extensions.Navigator.V1`
* Assembly: `UiPath.DocumentProcessing.Contracts`

## Description

`FieldLookupBase` is the abstract base class for the V1 navigator facades. It holds a collection of [ResultsDataPoint](results-data-point-class.md) objects and resolves a lookup string to a single field.

It is not instantiated directly. Its field-resolution behavior is inherited by [ComponentCollectionFacade](componentcollectionfacade-class.md) and [ResultsValueFacadeBase](resultsvaluefacadebase-class.md), and therefore by every facade derived from them.

## Field lookup resolution

A lookup string passed to navigation members (for example, `fieldLookup`, `tableLookup`, or `columnLookup`) resolves in the following order:

* Match by field ID, either fully qualified or by the segment after the last `.`, compared case-insensitively.
* If no field matches by ID, match by field display name, compared case-insensitively.

The lookup throws `System.ArgumentException` when:

* More than one field matches the ID.
* More than one field matches the display name.
* No field matches either the ID or the display name.

## Members

### Constructors

| Constructor | Description |
|---|---|
| `FieldLookupBase(ResultsDataPoint[] dataPoints)` | Initializes a new instance over the supplied data points. A `null` array is treated as an empty collection. |

:::note
This class exposes its data point collection and lookup method as protected members to derived facades. It has no public members other than the constructor.
:::
