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

In This Topic
    GetSubtypes Method
    In This Topic
    Gets a IReadOnlyList of the table's subtype codes. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Function GetSubtypes() As IReadOnlyList(Of Subtype)
    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
    {
      // Must be called within QueuedTask.Run
      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
            object 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]);
          }
    
          return row[field.Name].ToString();
        }
      }
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also