Enum.IsDefined Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
IsDefined(Type, Object) |
Retorna um booliano informando se um determinado valor integral ou o seu nome como uma cadeia de caracteres existe em uma enumeração especificada. |
IsDefined<TEnum>(TEnum) |
Retorna um booliano informando se um determinado valor integral, ou seu nome como uma cadeia de caracteres, existe em uma enumeração especificada. |
IsDefined(Type, Object)
Retorna um booliano informando se um determinado valor integral ou o seu nome como uma cadeia de caracteres existe em uma enumeração especificada.
public:
static bool IsDefined(Type ^ enumType, System::Object ^ value);
public static bool IsDefined (Type enumType, object value);
[System.Runtime.InteropServices.ComVisible(true)]
public static bool IsDefined (Type enumType, object value);
static member IsDefined : Type * obj -> bool
[<System.Runtime.InteropServices.ComVisible(true)>]
static member IsDefined : Type * obj -> bool
Public Shared Function IsDefined (enumType As Type, value As Object) As Boolean
Parâmetros
- enumType
- Type
Um tipo de enumeração.
- value
- Object
O valor ou o nome de uma constante em enumType
.
Retornos
true
se uma constante no enumType
tiver um valor igual a value
; caso contrário, false
.
- Atributos
Exceções
enumType
ou value
é null
.
enumType
não é um Enum
.
- ou -
O tipo de value
é uma enumeração, mas não é uma enumeração de tipo enumType
.
- ou -
O tipo de value
não é um tipo subjacente de enumType
.
Exemplos
O exemplo a seguir define uma enumeração chamada PetType
que consiste em campos de bits individuais. Em seguida, ele chama o IsDefined método com possíveis valores de enumeração subjacentes, nomes de cadeia de caracteres e valores compostos resultantes da configuração de vários campos de bits.
using System;
[Flags] public enum PetType
{
None = 0, Dog = 1, Cat = 2, Rodent = 4, Bird = 8, Reptile = 16, Other = 32
};
public class Example
{
public static void Main()
{
object value;
// Call IsDefined with underlying integral value of member.
value = 1;
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
// Call IsDefined with invalid underlying integral value.
value = 64;
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
// Call IsDefined with string containing member name.
value = "Rodent";
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
// Call IsDefined with a variable of type PetType.
value = PetType.Dog;
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
value = PetType.Dog | PetType.Cat;
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
// Call IsDefined with uppercase member name.
value = "None";
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
value = "NONE";
Console.WriteLine("{0}: {1}", value, Enum.IsDefined(typeof(PetType), value));
// Call IsDefined with combined value
value = PetType.Dog | PetType.Bird;
Console.WriteLine("{0:D}: {1}", value, Enum.IsDefined(typeof(PetType), value));
value = value.ToString();
Console.WriteLine("{0:D}: {1}", value, Enum.IsDefined(typeof(PetType), value));
}
}
// The example displays the following output:
// 1: True
// 64: False
// Rodent: True
// Dog: True
// Dog, Cat: False
// None: True
// NONE: False
// 9: False
// Dog, Bird: False
<Flags> Public Enum PetType As Integer
None = 0
Dog = 1
Cat = 2
Rodent = 4
Bird = 8
Reptile = 16
Other = 32
End Enum
Module Example
Public Sub Main()
Dim value As Object
' Call IsDefined with underlying integral value of member.
value = 1
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
' Call IsDefined with invalid underlying integral value.
value = 64
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
' Call IsDefined with string containing member name.
value = "Rodent"
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
' Call IsDefined with a variable of type PetType.
value = PetType.Dog
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
value = PetType.Dog Or PetType.Cat
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
' Call IsDefined with uppercase member name.
value = "None"
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
value = "NONE"
Console.WriteLine("{0}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
' Call IsDefined with combined value
value = PetType.Dog Or PetType.Bird
Console.WriteLine("{0:D}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
value = value.ToString()
Console.WriteLine("{0:D}: {1}", value, [Enum].IsDefined(GetType(PetType), value))
End Sub
End Module
' The example displays the following output:
' 1: True
' 64: False
' Rodent: True
' Dog: True
' Dog, Cat: False
' None: True
' NONE: False
' 9: False
' Dog, Bird: False
Comentários
O parâmetro value
pode ser um dos seguintes:
Qualquer membro do tipo
enumType
.Uma variável cujo valor é um membro de enumeração do tipo
enumType
.A representação de cadeia de caracteres do nome de um membro de enumeração. Os caracteres na cadeia de caracteres devem ter o mesmo caso que o nome do membro de enumeração.
Um valor do tipo subjacente de
enumType
.
Se as constantes em definirem um conjunto de campos de bits e contiver os valores, nomes ou valores subjacentes de vários campos de bits, o enumType
value
método IsDefined retornará false
. Em outras palavras, para enumerações que definem um conjunto de campos de bits, o método determina apenas se um único campo de bit pertence à enumeração . Para determinar se vários campos de bits são definidos em um tipo de enumeração marcado com o FlagsAttribute atributo , você pode chamar o método HasFlag .
Notas aos Chamadores
Se for uma enumeração definida usando o atributo , o método retornará se vários campos de bits em são definidos, mas não corresponde a um valor de enumeração composta ou se for uma enumType
FlagsAttribute false
value
value
concatenação de cadeia de value
caracteres dos nomes de vários sinalizadores de bits. No exemplo a seguir, uma enumeração Pets
é definida com o FlagsAttribute atributo . O método retorna quando você passa a ele um valor de enumeração que tem dois campos de bits (Pets.Dog e Pets.Cat) definidos e quando você passa a ele a representação de cadeia de caracteres desse valor de IsDefined(Type, Object) false
enumeração ("Dog, Cat").
Você pode determinar se vários campos de bits são definidos chamando o HasFlag(Enum) método .
Confira também
Aplica-se a
IsDefined<TEnum>(TEnum)
Retorna um booliano informando se um determinado valor integral, ou seu nome como uma cadeia de caracteres, existe em uma enumeração especificada.
public:
generic <typename TEnum>
where TEnum : value class static bool IsDefined(TEnum value);
public static bool IsDefined<TEnum> (TEnum value) where TEnum : struct;
static member IsDefined : 'Enum -> bool (requires 'Enum : struct)
Public Shared Function IsDefined(Of TEnum As Structure) (value As TEnum) As Boolean
Parâmetros de tipo
- TEnum
O tipo da enumeração.
Parâmetros
- value
- TEnum
O valor ou o nome de uma constante em TEnum
.
Retornos
true
se um determinado valor integral, ou seu nome como uma cadeia de caracteres, existe em uma enumeração especificada; caso contrário, false
.