Enum.IsDefined Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Túlterhelések
| Name | Description |
|---|---|
| IsDefined(Type, Object) |
Egy logikai értéket ad vissza, amely azt jelzi, hogy egy adott integrálérték vagy annak neve sztringként létezik-e egy megadott enumerálásban. |
| IsDefined<TEnum>(TEnum) |
Egy logikai értéket ad vissza, amely azt jelzi, hogy egy adott integrálérték vagy annak neve sztringként létezik-e egy megadott enumerálásban. |
IsDefined(Type, Object)
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
Egy logikai értéket ad vissza, amely azt jelzi, hogy egy adott integrálérték vagy annak neve sztringként létezik-e egy megadott enumerálásban.
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
Paraméterek
- enumType
- Type
Enumerálási típus.
- value
- Object
Egy állandó értéke vagy neve a következőben enumType: .
Válaszok
trueha a konstans értéke enumType megegyezik ; valueellenkező esetben. false
- Attribútumok
Kivételek
enumType vagy value az null.
enumType nem egy Enum.
-vagy-
A típus value egy enumerálás, de nem a típus enumTypeszámbavétele.
-vagy-
A típus value nem a mögöttes típus.enumType
Példák
Az alábbi példa egy egyedi bitmezőkből álló enumerálást PetType határoz meg. Ezután meghívja a metódust IsDefined olyan lehetséges mögöttes enumerálási értékekkel, sztringnevekkel és összetett értékekkel, amelyek több bitmező beállításából erednek.
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
Megjegyzések
A value paraméter az alábbiak bármelyike lehet:
Bármely tag típusú
enumType.Olyan változó, amelynek értéke a típus
enumTypeenumerálási tagja.Az enumerálási tag nevének sztring-ábrázolása. A sztringben szereplő karaktereknek az enumerálási tag nevével megegyező esetnek kell lenniük.
A mögöttes típus
enumTypeértéke.
Ha az állandók bitmezők enumType készletét definiálják, és value több bitmező értékeit, nevét vagy mögöttes IsDefinedértékeit tartalmazzák, a false metódus ad vissza. Más szóval a bitmezőket definiáló enumerálások esetében a metódus csak azt határozza meg, hogy egyetlen bitmező tartozik-e az enumeráláshoz. Annak megállapításához, hogy több bitmező van-e beállítva az attribútummal FlagsAttribute címkézett enumerálási típusban, meghívhatja a metódust HasFlag .
Megjegyzések a hívókhoz
Ha enumType az attribútum használatával FlagsAttribute definiált enumerálás, akkor a metódus akkor ad vissza értéket false , ha több bitmező value van beállítva, de value nem felel meg összetett enumerálási értéknek, vagy ha value több bitjelölő nevének sztringösszefűzője. Az alábbi példában egy Pets enumerálást határozunk meg az FlagsAttribute attribútummal. A IsDefined(Type, Object) metódus egy olyan enumerálási értéket ad vissza false , amelynek két bitmezője (Pets.Dog és Pets.Cat) van beállítva, és amikor átadja az enumerálási érték sztringképét ("Kutya, Macska").
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
A metódus meghívásával HasFlag(Enum) meghatározhatja, hogy több bitmező van-e beállítva.
Lásd még
A következőre érvényes:
IsDefined<TEnum>(TEnum)
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
- Forrás:
- Enum.cs
Egy logikai értéket ad vissza, amely azt jelzi, hogy egy adott integrálérték vagy annak neve sztringként létezik-e egy megadott enumerálásban.
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ípusparaméterek
- TEnum
Az enumerálás típusa.
Paraméterek
- value
- TEnum
Egy állandó értéke vagy neve a következőben TEnum: .
Válaszok
true ha egy adott integrálérték vagy annak neve sztringként létezik egy megadott számbavételben; false Egyébként.