Open In App

C# | Type.IsEnumDefined() Method

Last Updated : 24 Jun, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
Type.IsEnumDefined(Object) Method is used to return a value which indicates whether the specified value exists in the current enumeration type.
Syntax: public virtual bool IsEnumDefined (object value); Here, it takes the value to be tested. Return Value: This method returns true if the specified value is a member of the current enumeration type otherwise, false.
Exceptions:
  • ArgumentException: If the current type is not an enumeration.
  • ArgumentNullException: If the value is null.
  • InvalidOperationException: If the value is of a type that cannot be the underlying type of an enumeration.
Below programs illustrate the use of Type.IsEnumDefined(Object) Method: Example 1: csharp
// 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);
        }
    }
}
Output:
specified value is a member of the current enumeration type
Example 2: csharp
// 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);
        }
    }
}
Output:
The current type is not an enumeration.
Exception Thrown: System.ArgumentException
Example 3: csharp
// 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);
        }
    }
}
Output:
value is null.
Exception Thrown: System.ArgumentNullException
Reference:

Next Article

Similar Reads