ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Data Namespace / Field Class / GetDomain Method
The specific Subtype for the field's domain. This argument is optional. If unset or set to null, the field's domain at the table level is returned.
Example

GetDomain Method
Gets the field's Domain at the table level if subtype is not set. Otherwise, gets the field's domain for the specific subtype. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public Domain GetDomain( 
   Subtype subtype
)

Parameters

subtype
The specific Subtype for the field's domain. This argument is optional. If unset or set to null, the field's domain at the table level is returned.

Return Value

The associated domain if one is assigned; otherwise, null is returned.
Exceptions
ExceptionDescription
A geodatabase-related exception has occurred.
Example
Get domain string from a field
public string GetDomainStringFromField(Row row, Field field)
{
  // Get the table and table definition from the Row
  using (Table table = row.GetTable())
  using (TableDefinition tableDefinition = table.GetDefinition())
  {
    // Get name of subtype field
    string subtypeFieldName = tableDefinition.GetSubtypeField();

    // Get subtype, if any
    Subtype subtype = null;

    if (subtypeFieldName.Length != 0)
    {
      // Get value of subtype field for this row
      var varSubtypeCode = row[subtypeFieldName];
      long subtypeCode = (long)varSubtypeCode;

      // Get subtype for this row
      subtype = tableDefinition.GetSubtypes().First(x => x.GetCode() == subtypeCode);
    }

    // Get the coded value domain for this field
    CodedValueDomain domain = field.GetDomain(subtype) as CodedValueDomain;

    // Return the text string for this field
    if (domain != null)
    {
      return domain.GetName(row[field.Name]);
    }
    else
    {
      return row[field.Name].ToString();
    }
  }
}
Requirements

Target Platforms: Windows 11, Windows 10, Windows 8.1

ArcGIS Pro version: 2.0 or higher.
See Also