Type.IsEnum 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示当前的 Type 是否表示枚举。
public:
virtual property bool IsEnum { bool get(); };
public:
property bool IsEnum { bool get(); };
public virtual bool IsEnum { get; }
public bool IsEnum { get; }
member this.IsEnum : bool
Public Overridable ReadOnly Property IsEnum As Boolean
Public ReadOnly Property IsEnum As Boolean
属性值
如果当前 true
表示枚举,则为 Type;否则为 false
。
实现
示例
下面的示例演示如何使用 IsEnum
属性。
using namespace System;
enum class Color
{ Red, Blue, Green };
int main()
{
Type^ colorType = Color::typeid;
Type^ enumType = Enum::typeid;
Console::WriteLine( "Is Color an enum? {0}.", colorType->IsEnum );
Console::WriteLine( "Is Color a value type? {0}.", colorType->IsValueType );
Console::WriteLine( "Is Enum an enum Type? {0}.", enumType->IsEnum );
Console::WriteLine( "Is Enum a value type? {0}.", enumType->IsValueType );
}
// The example displays the following output:
// Is Color an enum? True.
// Is Color a value type? True.
// Is Enum an enum type? False.
// Is Enum a value type? False.
using System;
public enum Color
{ Red, Blue, Green }
class TestIsEnum
{
public static void Main()
{
Type colorType = typeof(Color);
Type enumType = typeof(Enum);
Console.WriteLine("Is Color an enum? {0}.", colorType.IsEnum);
Console.WriteLine("Is Color a value type? {0}.", colorType.IsValueType);
Console.WriteLine("Is Enum an enum Type? {0}.", enumType.IsEnum);
Console.WriteLine("Is Enum a value type? {0}.", enumType.IsValueType);
}
}
// The example displays the following output:
// Is Color an enum? True.
// Is Color a value type? True.
// Is Enum an enum type? False.
// Is Enum a value type? False.
open System
type Color =
| Red = 0
| Blue = 1
| Green = 2
let colorType = typeof<Color>
let enumType = typeof<Enum>
printfn $"Is Color an enum? {colorType.IsEnum}."
printfn $"Is Color a value type? {colorType.IsValueType}."
printfn $"Is Enum an enum Type? {enumType.IsEnum}."
printfn $"Is Enum a value type? {enumType.IsValueType}."
// The example displays the following output:
// Is Color an enum? True.
// Is Color a value type? True.
// Is Enum an enum type? False.
// Is Enum a value type? False.
Public Enum Color
Red
Blue
Green
End Enum
Class Example
Public Shared Sub Main()
Dim colorType As Type = GetType(Color)
Dim enumType As Type = GetType([Enum])
Console.WriteLine("Is Color an enum? {0}.", colorType.IsEnum)
Console.WriteLine("Is Color a value type? {0}.", colorType.IsValueType)
Console.WriteLine("Is Enum an enum type? {0}.", enumType.IsEnum)
Console.WriteLine("Is Enum a value type? {0}.", enumType.IsValueType)
End Sub
End Class
' The example displays the following output:
' Is Color an enum? True.
' Is Color a value type? True.
' Is Enum an enum type? False.
' Is Enum a value type? False.
注解
此属性为枚举返回 true
,但不返回 Enum 类型本身。
如果当前 Type 表示构造的泛型类型,则此属性适用于从中构造该类型的泛型类型定义。 例如,如果当前 Type 表示 MyGenericType<int>
Visual Basic) MyGenericType(Of Integer)
中的 (,则此属性的值由 MyGenericType<T>
确定。
如果当前 Type 表示泛型类型或泛型方法的定义中的类型参数,则此属性始终返回 false
。
此属性为只读。