Type.IsEnum 属性

获取一个值,该值指示当前的 Type 是否表示枚举。

**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public ReadOnly Property IsEnum As Boolean
用法
Dim instance As Type
Dim value As Boolean

value = instance.IsEnum
public bool IsEnum { get; }
public:
virtual property bool IsEnum {
    bool get () sealed;
}
/** @property */
public final boolean get_IsEnum ()
public final function get IsEnum () : boolean

属性值

如果当前 Type 表示枚举,则为 true;否则为 false

备注

此属性 (Property) 对枚举返回 true,但是对 Enum 类型本身则不然。

如果当前 Type 表示某种已构造的泛型类型,则此属性适用于从中构造此类型的泛型类型定义。例如,如果当前 Type 表示 MyGenericType<int>(在 Visual Basic 中为 MyGenericType(Of Integer)),则此属性的值由 MyGenericType<T> 确定。

如果当前 Type 表示泛型类型或泛型方法的定义中的类型参数,则此属性始终返回 false

此属性为只读。

示例

下面的示例展示如何使用 IsEnum 属性 (Property)。

Imports System

Public Enum Color
    Red
    Blue
    Green
End Enum 'Color
Class TestIsEnum
   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 'Main
End Class 'TestType
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);
   }
}
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 );
}
import System.*;

enum Color
{
    red, blue, green;
} //Color

class TestIsEnum
{
    public static void main(String[] args)
    {
        Type colorType = Color.class.ToType();
        Type enumType = Enum.class.ToType();
        Console.WriteLine("Is Color an enum? {0}.", 
            System.Convert.ToString(colorType.get_IsEnum()));
        Console.WriteLine("Is Color a value type? {0}.",
            System.Convert.ToString(colorType.get_IsValueType()));
        Console.WriteLine("Is Enum an enum Type? {0}.",
            System.Convert.ToString(enumType.get_IsEnum()));
        Console.WriteLine("Is Enum a value type? {0}.", 
            System.Convert.ToString(enumType.get_IsValueType()));
    } //main
} //TestIsEnum

这段代码产生以下输出:

Is Color an enum? True.
Is Color a value type? True.
Is Enum an enum type? False.
Is Enum a value type? False.

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

Type 类
Type 成员
System 命名空间
TypeAttributes