C# | Método Type.IsEnumDefined()

El método Type.IsEnumDefined(Object) se usa para devolver un valor que indica si el valor especificado existe en el tipo de enumeración actual.

Sintaxis: public virtual bool IsEnumDefined (valor del objeto);
Aquí, toma el valor a probar.

Valor de retorno: este método devuelve verdadero si el valor especificado es un miembro del tipo de enumeración actual; de lo contrario, es falso.

Excepciones :

  • ArgumentException : si el tipo actual no es una enumeración.
  • ArgumentNullException : si el valor es nulo.
  • InvalidOperationException : si el valor es de un tipo que no puede ser el tipo subyacente de una enumeración.

Los siguientes programas ilustran el uso del método Type.IsEnumDefined(Object) :

Ejemplo 1:

// C# program to demonstrate the
// Type.IsEnumDefined(Object) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // defining enum enu
    public enum enu {A, B, C};
  
    // Main Method
    public static void Main()
    {
  
        // try-catch block for handling Exception
        try {
  
            // creating and initializing object Type
            object value = enu.A;
  
            // checking for the current enumeration type
            // by using IsEnumDefined() Method
            bool status = typeof(enu).IsEnumDefined(value);
  
            // display the result
            if (status)
                Console.WriteLine("specified value is a member"+
                            " of the current enumeration type");
            else
                Console.WriteLine("specified value is not"+
                " present in the current enumeration type");
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) {
  
            Console.WriteLine("Object is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        // catch ArgumentNullException here
        catch (InvalidOperationException e) {
  
            Console.WriteLine("Object is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        // catch ArgumentException here
        catch (ArgumentException e) {
  
            Console.WriteLine("Object is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
Producción:

specified value is a member of the current enumeration type

Ejemplo 2:

// C# program to demonstrate the
// Type.IsEnumDefined(Object) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // defining enum enu
    public enum enu {A, B, C};
  
    // Main Method
    public static void Main()
    {
  
        // try-catch block for handling Exception
        try {
  
            // creating and initializing object Type
            object value = enu.B;
  
            // checking for the current enumeration type
            // by using IsEnumDefined() Method
            bool status = typeof(int).IsEnumDefined(value);
  
            // display the result
            if (status)
                Console.WriteLine("specified value is a member"+
                            " of the current enumeration type");
            else
                Console.WriteLine("specified value is not"+
               " present in the current enumeration type");
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) {
  
            Console.WriteLine("value is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        // 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

Ejemplo 3:

// C# program to demonstrate the
// Type.IsEnumDefined(Object) Method
using System;
using System.Globalization;
using System.Reflection;
  
class GFG {
  
    // defining enum enu
    public enum enu {A, B, C};
  
    // Main Method
    public static void Main()
    {
  
        // try-catch block for handling Exception
        try {
  
            // creating and initializing object Type
            object value = null;
  
            // checking for the current enumeration type
            // by using IsEnumDefined() Method
            bool status = typeof(enu).IsEnumDefined(value);
  
            // display the result
            if (status)
                Console.WriteLine("specified value is a member"+
                            " of the current enumeration type");
            else
                Console.WriteLine("specified value is not"+ 
                " present in the current enumeration type");
        }
  
        // catch ArgumentNullException here
        catch (ArgumentNullException e) {
  
            Console.WriteLine("value is null.");
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
  
        // 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:

value is null.
Exception Thrown: System.ArgumentNullException

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *