Enum.IsDefined Metode

Definisi

Overload

Nama Deskripsi
IsDefined(Type, Object)

Mengembalikan Boolean yang memberi tahu apakah nilai integral tertentu, atau namanya sebagai string, ada dalam enumerasi tertentu.

IsDefined<TEnum>(TEnum)

Mengembalikan boolean yang memberi tahu apakah nilai integral tertentu, atau namanya sebagai string, ada dalam enumerasi tertentu.

IsDefined(Type, Object)

Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs

Mengembalikan Boolean yang memberi tahu apakah nilai integral tertentu, atau namanya sebagai string, ada dalam enumerasi tertentu.

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

Parameter

enumType
Type

Jenis enumerasi.

value
Object

Nilai atau nama konstanta di enumType.

Mengembalikan

true jika konstanta di enumType memiliki nilai yang sama dengan value; jika tidak, false.

Atribut

Pengecualian

enumType atau value adalah null.

enumTypebukan .Enum

-atau-

Jenisnya value adalah enumerasi, tetapi bukan enumerasi jenis enumType.

-atau-

Jenis value bukan jenis yang mendasar dari enumType.

Contoh

Contoh berikut mendefinisikan enumerasi bernama PetType yang terdiri dari bidang bit individual. Kemudian memanggil IsDefined metode dengan kemungkinan nilai enumerasi dasar, nama string, dan nilai komposit yang dihasilkan dari pengaturan beberapa bidang bit.

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
open System

[<Flags>]
type PetType =
    | None = 0
    | Dog = 1
    | Cat = 2
    | Rodent = 4
    | Bird = 8
    | Reptile = 16
    | Other = 32

[<EntryPoint>]
let main _ =
    // Call IsDefined with underlying integral value of member.
    let value = 1
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    // Call IsDefined with invalid underlying integral value.
    let value = 64
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    // Call IsDefined with string containing member name.
    let value = "Rodent"
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    // Call IsDefined with a variable of type PetType.
    let value = PetType.Dog
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    let value = PetType.Dog ||| PetType.Cat
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    // Call IsDefined with uppercase member name.
    let value = "None"
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    let value = "NONE"
    printfn $"{value}: {Enum.IsDefined(typeof<PetType>, value)}"
    // Call IsDefined with combined value
    let value = PetType.Dog ||| PetType.Bird
    printfn $"{value:D}: {Enum.IsDefined(typeof<PetType>, value)}"
    let value = value.ToString()
    printfn $"{value:D}: {Enum.IsDefined(typeof<PetType>, value)}"
    0
// 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

Keterangan

Parameter value dapat berupa salah satu hal berikut:

  • Setiap anggota jenis enumType.

  • Variabel yang nilainya adalah anggota enumerasi dari jenis enumType.

  • Representasi string nama anggota enumerasi. Karakter dalam string harus memiliki kasus yang sama dengan nama anggota enumerasi.

  • Nilai dari jenis yang mendasar dari enumType.

Jika konstanta dalam enumType menentukan sekumpulan bidang bit dan value berisi nilai, nama, atau nilai dasar dari beberapa bidang bit, IsDefined metode mengembalikan false. Dengan kata lain, untuk enumerasi yang menentukan sekumpulan bidang bit, metode hanya menentukan apakah bidang bit tunggal termasuk dalam enumerasi. Untuk menentukan apakah beberapa bidang bit diatur dalam jenis enumerasi yang ditandai dengan FlagsAttribute atribut , Anda dapat memanggil HasFlag metode .

Catatan Bagi Pemanggil

Jika enumType adalah enumerasi yang didefinisikan dengan menggunakan FlagsAttribute atribut , metode mengembalikan false jika beberapa bidang bit di value diatur tetapi value tidak sesuai dengan nilai enumerasi komposit, atau jika value adalah perangkaian string dari nama beberapa bendera bit. Dalam contoh berikut, Pets enumerasi didefinisikan dengan FlagsAttribute atribut . Metode ini IsDefined(Type, Object) mengembalikan false ketika Anda meneruskannya nilai enumerasi yang memiliki dua bidang bit (Pets.Dog dan Pets.Cat) yang ditetapkan, dan ketika Anda meneruskannya representasi string dari nilai enumerasi tersebut ("Anjing, Kucing").

using System;

[Flags] public enum Pets {
      None = 0, Dog = 1, Cat = 2, Bird = 4,
      Rodent = 8, Other = 16 };

public class Example
{
   public static void Main()
   {
      Pets value = Pets.Dog | Pets.Cat;
      Console.WriteLine("{0:D} Exists: {1}",
                        value, Pets.IsDefined(typeof(Pets), value));
      string name = value.ToString();
      Console.WriteLine("{0} Exists: {1}",
                        name, Pets.IsDefined(typeof(Pets), name));
   }
}
// The example displays the following output:
//       3 Exists: False
//       Dog, Cat Exists: False
open System

[<Flags>]
type Pets =
    | None = 0
    | Dog = 1
    | Cat = 2
    | Bird = 4
    | Rodent = 8
    | Other = 16

let value = Pets.Dog ||| Pets.Cat
printfn $"{value:D} Exists: {Pets.IsDefined(typeof<Pets>, value)}"
let name = string value
printfn $"{name} Exists: {Pets.IsDefined(typeof<Pets>, name)}"
// The example displays the following output:
//       3 Exists: False
//       Dog, Cat Exists: False
<Flags> Public Enum Pets As Integer
   None = 0
   Dog = 1
   Cat = 2
   Bird = 4
   Rodent = 8
   Other = 16
End Enum

Module Example
   Public Sub Main()
      Dim value As Pets = Pets.Dog Or Pets.Cat
      Console.WriteLine("{0:D} Exists: {1}", 
                        value, Pets.IsDefined(GetType(Pets), value))
      Dim name As String = value.ToString()
      Console.WriteLine("{0} Exists: {1}", 
                        name, Pets.IsDefined(GetType(Pets), name))
   End Sub
End Module
' The example displays the following output:
'       3 Exists: False
'       Dog, Cat Exists: False

Anda dapat menentukan apakah beberapa bidang bit diatur dengan memanggil HasFlag(Enum) metode .

Lihat juga

Berlaku untuk

IsDefined<TEnum>(TEnum)

Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs
Sumber:
Enum.cs

Mengembalikan boolean yang memberi tahu apakah nilai integral tertentu, atau namanya sebagai string, ada dalam enumerasi tertentu.

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

Jenis parameter

TEnum

Jenis enumerasi.

Parameter

value
TEnum

Nilai atau nama konstanta di TEnum.

Mengembalikan

true jika nilai integral tertentu, atau namanya sebagai string, ada dalam enumerasi tertentu; false Sebaliknya.

Berlaku untuk