El método Type.GetEnumUnderlyingType() se usa para devolver el tipo subyacente del tipo de enumeración actual.
Sintaxis:
public virtual Type GetEnumUnderlyingType ();
Valor devuelto: este método devuelve el tipo subyacente de la enumeración actual.
Excepción: este método devolverá ArgumentException si el tipo actual no es una enumeración o el tipo de enumeración no es válido (debido a que contiene más de un campo de instancia).
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
C#
// 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 instance 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); } } }
Producción:
Underlying type is : System.Int32
Ejemplo 2: para ArgumentException
C#
// 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); } } }
Producción:
The current type is not an enumeration. Exception Thrown: System.ArgumentException
Referencia:
Publicación traducida automáticamente
Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA