Enum.TryParse Método

Definição

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. O valor de retorno indica se a conversão foi bem-sucedida.

Sobrecargas

TryParse(Type, ReadOnlySpan<Char>, Object)

Converte o intervalo de representação de caracteres do nome ou valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

TryParse(Type, String, Object)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

TryParse(Type, ReadOnlySpan<Char>, Boolean, Object)

Converte o intervalo de representação de caracteres do nome ou valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação não diferencia maiúsculas de minúsculas.

TryParse(Type, String, Boolean, Object)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

TryParse<TEnum>(ReadOnlySpan<Char>, TEnum)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

TryParse<TEnum>(String, TEnum)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. O valor de retorno indica se a conversão foi bem-sucedida.

TryParse<TEnum>(String, Boolean, TEnum)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação diferencia maiúsculas de minúsculas. O valor de retorno indica se a conversão foi bem-sucedida.

TryParse<TEnum>(ReadOnlySpan<Char>, Boolean, TEnum)

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação diferencia maiúsculas de minúsculas. O valor de retorno indica se a conversão foi bem-sucedida.

TryParse(Type, ReadOnlySpan<Char>, Object)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte o intervalo de representação de caracteres do nome ou valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

public:
 static bool TryParse(Type ^ enumType, ReadOnlySpan<char> value, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, ReadOnlySpan<char> value, out object? result);
static member TryParse : Type * ReadOnlySpan<char> * obj -> bool
Public Shared Function TryParse (enumType As Type, value As ReadOnlySpan(Of Char), ByRef result As Object) As Boolean

Parâmetros

enumType
Type

O tipo enumerado a ser usado para a análise.

value
ReadOnlySpan<Char>

A representação de intervalo do nome ou valor numérico de uma ou mais constantes enumeradas.

result
Object

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

.NET 8 e versões posteriores: enumType é um tipo de enumeração com suporte booliano.

Aplica-se a

TryParse(Type, String, Object)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

public:
 static bool TryParse(Type ^ enumType, System::String ^ value, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, string? value, out object? result);
public static bool TryParse (Type enumType, string value, out object result);
static member TryParse : Type * string * obj -> bool
Public Shared Function TryParse (enumType As Type, value As String, ByRef result As Object) As Boolean

Parâmetros

enumType
Type

O tipo enumerado a ser usado para a análise.

value
String

A representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas.

result
Object

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

.NET 8 e versões posteriores: enumType é um tipo de enumeração com suporte booliano.

Aplica-se a

TryParse(Type, ReadOnlySpan<Char>, Boolean, Object)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte o intervalo de representação de caracteres do nome ou valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação não diferencia maiúsculas de minúsculas.

public:
 static bool TryParse(Type ^ enumType, ReadOnlySpan<char> value, bool ignoreCase, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, ReadOnlySpan<char> value, bool ignoreCase, out object? result);
static member TryParse : Type * ReadOnlySpan<char> * bool * obj -> bool
Public Shared Function TryParse (enumType As Type, value As ReadOnlySpan(Of Char), ignoreCase As Boolean, ByRef result As Object) As Boolean

Parâmetros

enumType
Type

O tipo enumerado a ser usado para a análise.

value
ReadOnlySpan<Char>

A representação de intervalo do nome ou valor numérico de uma ou mais constantes enumeradas.

ignoreCase
Boolean

true para ler enumType no modo que não diferencia maiúsculas de minúsculas; false para ler enumType no modo que diferencia maiúsculas de minúsculas.

result
Object

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

.NET 8 e versões posteriores: enumType é um tipo de enumeração com suporte booliano.

Aplica-se a

TryParse(Type, String, Boolean, Object)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

public:
 static bool TryParse(Type ^ enumType, System::String ^ value, bool ignoreCase, [Runtime::InteropServices::Out] System::Object ^ % result);
public static bool TryParse (Type enumType, string? value, bool ignoreCase, out object? result);
public static bool TryParse (Type enumType, string value, bool ignoreCase, out object result);
static member TryParse : Type * string * bool * obj -> bool
Public Shared Function TryParse (enumType As Type, value As String, ignoreCase As Boolean, ByRef result As Object) As Boolean

Parâmetros

enumType
Type

O tipo enumerado a ser usado para a análise.

value
String

A representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas.

ignoreCase
Boolean

true para ler value no modo que não diferencia maiúsculas de minúsculas; false para ler value no modo que diferencia maiúsculas de minúsculas.

result
Object

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

.NET 8 e versões posteriores: enumType é um tipo de enumeração com suporte booliano.

Aplica-se a

TryParse<TEnum>(ReadOnlySpan<Char>, TEnum)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente.

public:
generic <typename TEnum>
 where TEnum : value class static bool TryParse(ReadOnlySpan<char> value, [Runtime::InteropServices::Out] TEnum % result);
public static bool TryParse<TEnum> (ReadOnlySpan<char> value, out TEnum result) where TEnum : struct;
static member TryParse : ReadOnlySpan<char> * 'Enum -> bool (requires 'Enum : struct)
Public Shared Function TryParse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char), ByRef result As TEnum) As Boolean

Parâmetros de tipo

TEnum

O tipo do result objeto .

Parâmetros

value
ReadOnlySpan<Char>

A representação de intervalo do nome ou valor numérico de uma ou mais constantes enumeradas.

result
TEnum

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

TEnum não é um tipo de enumeração.

.NET 8 e versões posteriores: TEnum é um tipo de enumeração com suporte booliano.

Aplica-se a

TryParse<TEnum>(String, TEnum)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. O valor de retorno indica se a conversão foi bem-sucedida.

public:
generic <typename TEnum>
 where TEnum : value class static bool TryParse(System::String ^ value, [Runtime::InteropServices::Out] TEnum % result);
public static bool TryParse<TEnum> (string value, out TEnum result) where TEnum : struct;
public static bool TryParse<TEnum> (string? value, out TEnum result) where TEnum : struct;
static member TryParse : string * 'Enum -> bool (requires 'Enum : struct)
Public Shared Function TryParse(Of TEnum As Structure) (value As String, ByRef result As TEnum) As Boolean

Parâmetros de tipo

TEnum

O tipo de enumeração para o qual value será convertido.

Parâmetros

value
String

A representação de cadeia de caracteres que diferencia maiúsculas de minúsculas do nome de enumeração ou do valor subjacente a ser convertido.

result
TEnum

Quando este método retorna, contém um objeto do tipo TEnum cujo valor é representado por value se a operação de análise for bem-sucedida. Se a operação de análise falhar, conterá o valor padrão do tipo subjacente de TEnum. Este parâmetro é passado não inicializado.

Retornos

true caso o parâmetro value tenha sido convertido com êxito; do contrário, false.

Exceções

TEnum não é um tipo de enumeração.

.NET 8 e versões posteriores: TEnum é um tipo de enumeração com suporte booliano.

Exemplos

O exemplo a seguir define uma Colors enumeração, chama o TryParse<TEnum>(String, TEnum) método para converter cadeias de caracteres em seus valores de enumeração correspondentes e chama o IsDefined método para garantir que valores integrais específicos sejam valores subjacentes na Colors enumeração.

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         Colors colorValue;
         if (Enum.TryParse(colorString, out colorValue))
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       blue is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = 
    [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    match Enum.TryParse colorString with
    | true, colorValue ->
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    | _ ->
        printfn $"{colorString} is not a member of the Colors enumeration."
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       blue is not a member of the Colors enumeration.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
<Flags> Enum Colors As Integer
   None = 0
   Red = 1
   Green = 2
   Blue = 4
End Enum

Module Example
   Public Sub Main()
      Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
      For Each colorString As String In colorStrings
         Dim colorValue As Colors
         If [Enum].TryParse(colorString, colorValue) Then        
            If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then 
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
            Else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)            
            End If                    
         Else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
         End If
      Next
   End Sub
End Module
' The example displays the following output:
'    Converted '0' to None.
'    Converted '2' to Green.
'    8 is not an underlying value of the Colors enumeration.
'    blue is not a member of the Colors enumeration.
'    Converted 'Blue' to Blue.
'    Yellow is not a member of the Colors enumeration.
'    Converted 'Red, Green' to Red, Green.

Comentários

TryParse<TEnum>(String, TEnum) é idêntico ao Parse(Type, String) método , exceto que, em vez de gerar uma exceção, ele retornará false se a conversão falhar. Ele elimina a necessidade de tratamento de exceção ao analisar a representação de cadeia de caracteres de um valor de enumeração.

O value parâmetro contém a representação de cadeia de caracteres do valor subjacente ou constante nomeada de um membro de enumeração ou uma lista de constantes nomeadas ou valores subjacentes delimitados por vírgulas (,). Se value incluir várias constantes ou valores nomeados, um ou mais espaços em branco poderão preceder ou seguir cada valor, nome ou vírgula em value. Se value for uma lista, result refletirá o valor dos nomes especificados ou dos valores subjacentes combinados com uma operação bit a bit OR . Se value for a representação de cadeia de caracteres do nome de um valor de enumeração, a comparação de value com nomes de enumeração diferencia maiúsculas de minúsculas.

Se value for um nome que não corresponda a uma constante nomeada de TEnum, o método retornará false. Se value for a representação de cadeia de caracteres de um inteiro que não representa um valor subjacente da TEnum enumeração , o método retornará um membro de enumeração cujo valor subjacente é value convertido em um tipo integral. Se esse comportamento for indesejável, chame o IsDefined método para garantir que uma representação de cadeia de caracteres específica de um inteiro seja, na verdade, um membro de TEnum.

Se a operação de análise falhar, o result parâmetro conterá o valor padrão de 0, que pode não ser um membro da enumeração subjacente TEnum . Se nenhum valor for atribuído às constantes nomeadas em TEnum, o padrão será igual ao primeiro membro do TEnum. Caso contrário, o padrão será igual ao membro na enumeração com um valor atribuído de 0.

Confira também

Aplica-se a

TryParse<TEnum>(String, Boolean, TEnum)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação diferencia maiúsculas de minúsculas. O valor de retorno indica se a conversão foi bem-sucedida.

public:
generic <typename TEnum>
 where TEnum : value class static bool TryParse(System::String ^ value, bool ignoreCase, [Runtime::InteropServices::Out] TEnum % result);
public static bool TryParse<TEnum> (string value, bool ignoreCase, out TEnum result) where TEnum : struct;
public static bool TryParse<TEnum> (string? value, bool ignoreCase, out TEnum result) where TEnum : struct;
static member TryParse : string * bool * 'Enum -> bool (requires 'Enum : struct)
Public Shared Function TryParse(Of TEnum As Structure) (value As String, ignoreCase As Boolean, ByRef result As TEnum) As Boolean

Parâmetros de tipo

TEnum

O tipo de enumeração para o qual value será convertido.

Parâmetros

value
String

A representação de cadeia de caracteres do nome de enumeração ou do valor subjacente a ser convertido.

ignoreCase
Boolean

true para ignorar as maiúsculas e minúsculas, false considerar as maiúsculas e minúsculas.

result
TEnum

Quando este método retorna, contém um objeto do tipo TEnum cujo valor é representado por value se a operação de análise for bem-sucedida. Se a operação de análise falhar, conterá o valor padrão do tipo subjacente de TEnum. Este parâmetro é passado não inicializado.

Retornos

true caso o parâmetro value tenha sido convertido com êxito; do contrário, false.

Exceções

TEnum não é um tipo de enumeração.

.NET 8 e versões posteriores: TEnum é um tipo de enumeração com suporte booliano.

Exemplos

O exemplo a seguir define uma Colors enumeração, chama o TryParse<TEnum>(String, Boolean, TEnum) método para converter cadeias de caracteres em seus valores de enumeração correspondentes e chama o IsDefined método para garantir que valores integrais específicos sejam valores subjacentes na Colors enumeração. O TryParse<TEnum>(String, Boolean, TEnum) método usa uma comparação que não diferencia maiúsculas de minúsculas ao tentar converter as representações de cadeia de caracteres de constantes nomeadas em seus valores de enumeração equivalentes.

using System;

[Flags] enum Colors { None=0, Red = 1, Green = 2, Blue = 4 };

public class Example
{
   public static void Main()
   {
      string[] colorStrings = { "0", "2", "8", "blue", "Blue", "Yellow", "Red, Green" };
      foreach (string colorString in colorStrings)
      {
         Colors colorValue;
         if (Enum.TryParse(colorString, true, out colorValue))
            if (Enum.IsDefined(typeof(Colors), colorValue) | colorValue.ToString().Contains(","))
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString());
            else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString);
         else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString);
      }
   }
}
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
open System

[<Flags>]
type Colors =
    | None = 0
    | Red = 1
    | Green = 2
    | Blue = 4

let colorStrings = 
    [ "0"; "2"; "8"; "blue"; "Blue"; "Yellow"; "Red, Green" ]
for colorString in colorStrings do
    match Enum.TryParse(colorString, true) with
    | true, colorValue ->
        if Enum.IsDefined(typeof<Colors>, colorValue) || (string colorValue).Contains "," then
            printfn $"Converted '{colorString}' to {colorValue}."
        else
            printfn $"{colorString} is not an underlying value of the Colors enumeration."
    | _ ->
        printfn $"{colorString} is not a member of the Colors enumeration."
// The example displays the following output:
//       Converted '0' to None.
//       Converted '2' to Green.
//       8 is not an underlying value of the Colors enumeration.
//       Converted 'blue' to Blue.
//       Converted 'Blue' to Blue.
//       Yellow is not a member of the Colors enumeration.
//       Converted 'Red, Green' to Red, Green.
<Flags> Enum Colors As Integer
   None = 0
   Red = 1
   Green = 2
   Blue = 4
End Enum

Module Example
   Public Sub Main()
      Dim colorStrings() As String = {"0", "2", "8", "blue", "Blue", "Yellow", "Red, Green"}
      For Each colorString As String In colorStrings
         Dim colorValue As Colors
         If [Enum].TryParse(colorString, True, colorValue) Then        
            If [Enum].IsDefined(GetType(Colors), colorValue) Or colorValue.ToString().Contains(",") Then 
               Console.WriteLine("Converted '{0}' to {1}.", colorString, colorValue.ToString())
            Else
               Console.WriteLine("{0} is not an underlying value of the Colors enumeration.", colorString)            
            End If                    
         Else
            Console.WriteLine("{0} is not a member of the Colors enumeration.", colorString)
         End If
      Next
   End Sub
End Module
' The example displays the following output:
'       Converted '0' to None.
'       Converted '2' to Green.
'       8 is not an underlying value of the Colors enumeration.
'       Converted 'blue' to Blue.
'       Converted 'Blue' to Blue.
'       Yellow is not a member of the Colors enumeration.
'       Converted 'Red, Green' to Red, Green.

Comentários

TryParse<TEnum>(String, Boolean, TEnum) é idêntico ao Parse(Type, String, Boolean) método , exceto que, em vez de gerar uma exceção, ele retornará false se a conversão falhar. Ele elimina a necessidade de tratamento de exceção ao analisar a representação de cadeia de caracteres de um valor de enumeração.

O value parâmetro contém a representação de cadeia de caracteres do valor subjacente ou constante nomeada de um membro de enumeração ou uma lista de constantes nomeadas ou valores subjacentes delimitados por vírgulas (,). Se value incluir várias constantes ou valores nomeados, um ou mais espaços em branco poderão preceder ou seguir cada valor, nome ou vírgula em value. Se value for uma lista, result refletirá o valor dos nomes especificados ou dos valores subjacentes combinados com uma operação bit a bit OR . Se value for a representação de cadeia de caracteres do nome de um valor de enumeração, a comparação de value com nomes de enumeração dependerá do ignoreCase parâmetro . Se true, a comparação não diferencia maiúsculas de minúsculas; se false, diferencia maiúsculas de minúsculas.

Se value for um nome que não corresponda a uma constante nomeada de TEnum, o método retornará false. Se value for a representação de cadeia de caracteres de um inteiro que não representa um valor subjacente da TEnum enumeração , o método retornará um membro de enumeração cujo valor subjacente é value convertido em um tipo integral. Se esse comportamento for indesejável, chame o IsDefined método para garantir que uma representação de cadeia de caracteres específica de um inteiro seja, na verdade, um membro de TEnum.

Se a operação de análise falhar, o result parâmetro conterá o valor padrão de 0, que pode não ser um membro da enumeração subjacente TEnum . Se nenhum valor for atribuído às constantes nomeadas em TEnum, o padrão será igual ao primeiro membro do TEnum. Caso contrário, o padrão será igual ao membro na enumeração com um valor atribuído de 0.

Confira também

Aplica-se a

TryParse<TEnum>(ReadOnlySpan<Char>, Boolean, TEnum)

Origem:
Enum.cs
Origem:
Enum.cs
Origem:
Enum.cs

Converte a representação da cadeia de caracteres do nome ou do valor numérico de uma ou mais constantes enumeradas em um objeto enumerado equivalente. Um parâmetro especifica se a operação diferencia maiúsculas de minúsculas. O valor de retorno indica se a conversão foi bem-sucedida.

public:
generic <typename TEnum>
 where TEnum : value class static bool TryParse(ReadOnlySpan<char> value, bool ignoreCase, [Runtime::InteropServices::Out] TEnum % result);
public static bool TryParse<TEnum> (ReadOnlySpan<char> value, bool ignoreCase, out TEnum result) where TEnum : struct;
static member TryParse : ReadOnlySpan<char> * bool * 'Enum -> bool (requires 'Enum : struct)
Public Shared Function TryParse(Of TEnum As Structure) (value As ReadOnlySpan(Of Char), ignoreCase As Boolean, ByRef result As TEnum) As Boolean

Parâmetros de tipo

TEnum

O tipo do result objeto .

Parâmetros

value
ReadOnlySpan<Char>

A representação de intervalo do nome ou valor numérico de uma ou mais constantes enumeradas.

ignoreCase
Boolean

true para ignorar as maiúsculas e minúsculas, false considerar as maiúsculas e minúsculas.

result
TEnum

Quando este método retorna true, contém uma constante de enumeração que representa o valor analisado.

Retornos

true se a conversão foi bem-sucedida, caso contrário, false.

Exceções

TEnum não é um tipo de enumeração.

.NET 8 e versões posteriores: TEnum é um tipo de enumeração com suporte booliano.

Aplica-se a