Enum.IsDefined Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
IsDefined(Type, Object) |
Belirli bir tamsayı değerinin veya dize olarak adının belirtilen bir numaralandırmada var olup olmadığını belirten bir Boole değeri döndürür. |
IsDefined<TEnum>(TEnum) |
Belirli bir tamsayı değerinin veya dize olarak adının belirtilen bir numaralandırmada var olup olmadığını belirten bir boole değeri döndürür. |
IsDefined(Type, Object)
Belirli bir tamsayı değerinin veya dize olarak adının belirtilen bir numaralandırmada var olup olmadığını belirten bir Boole değeri döndürür.
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
Parametreler
- enumType
- Type
Bir numaralandırma türü.
- value
- Object
içindeki enumType
bir sabitin değeri veya adı.
Döndürülenler
true
içindeki enumType
bir sabitin değerine eşitse value
; değilse, false
.
- Öznitelikler
Özel durumlar
enumType
veya value
şeklindedir null
.
enumType
bir Enum
değildir.
-veya-
türü value
bir sabit listesidir, ancak türünde enumType
bir sabit listesi değildir.
-veya-
türü value
, temel alınan enumType
türü değildir.
Örnekler
Aşağıdaki örnek, tek tek bit alanlarından oluşan adlı PetType
bir numaralandırma tanımlar. Ardından, birden çok bit alanı ayarlanmasından IsDefined kaynaklanan olası temel numaralandırma değerleri, dize adları ve bileşik değerlerle yöntemini çağırır.
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
Açıklamalar
value
parametresi aşağıdakilerden biri olabilir:
türünün
enumType
herhangi bir üyesi.değeri türünde
enumType
bir sabit listesi üyesi olan bir değişken.Bir sabit listesi üyesinin adının dize gösterimi. Dizedeki karakterlerin, numaralandırma üye adıyla aynı büyük/küçük harfe sahip olması gerekir.
temel türündeki
enumType
bir değer.
içindeki enumType
sabitler bir bit alanları kümesi tanımlarsa ve value
birden çok bit alanının değerlerini, adlarını veya temel değerlerini içeriyorsa, IsDefined yöntemi döndürür false
. Başka bir deyişle, bit alanları kümesini tanımlayan numaralandırmalar için yöntemi yalnızca tek bir bit alanının sabit listesi için olup olmadığını belirler. Özniteliğiyle etiketlenmiş bir numaralandırma türünde birden çok bit alanının ayarlanıp ayarlanmadığını FlagsAttribute belirlemek için yöntemini çağırabilirsiniz HasFlag .
Arayanlara Notlar
özniteliği kullanılarak tanımlanan bir numaralandırma iseenumType
, yöntemi içinde birden çok bit alanı value
ayarlanmışsa ancak value
bileşik sabit listesi değerine karşılık gelmiyorsa veya birden çok bit bayrağının adlarının dize birleştirmesiyse value
döndürürfalse
.FlagsAttribute Aşağıdaki örnekte, özniteliğiyle bir FlagsAttribute Pets
sabit listesi tanımlanmıştır. yöntemi, IsDefined(Type, Object) iki bit alanı (Pets.Dog
ve Pets.Cat
) ayarlanmış bir numaralandırma değeri geçirdiğinizde ve bu sabit listesi değerinin dize gösterimini ("Köpek, Kedi") geçirdiğinizde döndürürfalse
.
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
yöntemini çağırarak birden çok bit alanının ayarlanıp ayarlanmayacağını HasFlag(Enum) belirleyebilirsiniz.
Ayrıca bkz.
Şunlara uygulanır
IsDefined<TEnum>(TEnum)
Belirli bir tamsayı değerinin veya dize olarak adının belirtilen bir numaralandırmada var olup olmadığını belirten bir boole değeri döndürür.
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
Tür Parametreleri
- TEnum
Numaralandırmanın türü.
Parametreler
- value
- TEnum
içindeki TEnum
bir sabitin değeri veya adı.
Döndürülenler
true
belirtilen bir numaralandırmada belirli bir tam sayı değeri veya dize olarak adı varsa; false
Aksi takdir -de.