Enum.IsDefined Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.