Type.IsEnum 属性

定义

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

C#
public virtual bool IsEnum { get; }
C#
public bool IsEnum { get; }

属性值

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

实现

示例

下面的示例演示如何使用 IsEnum 属性。

C#
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.

注解

此属性为枚举返回 true ,但不返回 Enum 类型本身。

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

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

此属性为只读。

适用于

产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

另请参阅