ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Data Namespace / TableDefinition Class / GetSubtypes Method
Example

GetSubtypes Method
Gets a IReadOnlyList of the table's subtype codes. This method must be called on the MCT. Use QueuedTask.Run.
Syntax
public IReadOnlyList<Subtype> GetSubtypes()

Return Value

A IReadOnlyList of the table's subtype codes.
Exceptions
ExceptionDescription
The definition does not support this operation (e.g., the table is a shapefile).
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