Type.GetEnumUnderlyingType()方法用于返回当前枚举类型的基础类型。
用法:
public virtual Type GetEnumUnderlyingType ();
返回值:此方法返回当前枚举的基础类型。
异常:如果当前类型不是枚举或枚举类型无效(由于包含多个实例字段),则此方法将返回ArgumentException。
以下示例程序旨在说明上述方法的用法:
示例1:
// C# program to demonstrate the
// Type.GetEnumUnderlyingType() Method
using System;
using System.Globalization;
using System.Reflection;
class GFG {
// Defining enum ABC
enum ABC { A,
B,
C,
D,
E,
F }
// Main Method
public static void Main()
{
// try-catch block to
// handle exceptions
try {
// Creating and initializing object
// of ABC with instace of enum ABC
ABC a = ABC.A;
// Declaring and initializing
// object of Type
Type type = a.GetType();
// Getting underlying type of current enumeration
// By using GetEnumUnderlyingType() method
Type obj = type.GetEnumUnderlyingType();
// Display underlying type
Console.Write("Underlying type is : {0} ", obj);
}
// ArgumentException here
catch (ArgumentException e)
{
Console.Write("The current type is not an enumeration.");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
Underlying type is : System.Int32
示例2:对于ArgumentException
// C# program to demonstrate the
// Type.GetEnumUnderlyingType() Method
using System;
using System.Globalization;
using System.Reflection;
class GFG {
// Defining enum ABC
enum ABC { A,
B,
C,
D,
E,
F }
// Main Method
public static void Main()
{
// try-catch block to
// handle exceptions
try {
// Declaring and initializing
// object of Type
Type type = typeof(int);
// Getting underlying type of current enumeration
// By using GetEnumUnderlyingType() method
Type obj = type.GetEnumUnderlyingType();
// Display underlying type
Console.Write("underlying type is : {0} ", obj);
}
// catch ArgumentException here
catch (ArgumentException e)
{
Console.WriteLine("The current type is not an enumeration.");
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
The current type is not an enumeration. Exception Thrown: System.ArgumentException
参考:
相关用法
- C# DateTimeOffset.Add()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Dictionary.Add()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Exp()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 C# | Type.GetEnumUnderlyingType() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。