C# | Type.GetEnumName() Method (original) (raw)

Last Updated : 04 Sep, 2021

Type.GetEnumName(Object) Method is used to return the name of the constant which has the specified value for the current enumeration type.

Syntax:

public virtual string GetEnumName (object value);

Here, it takes the value whose name is to be retrieved.
Return Value: This method returns the name of the member of the current enumeration type which has the specified value. If no such constant is found then it will return null.
Exceptions:

Below programs illustrate the use of the above-discussed method:
Example 1:

csharp `

// C# program to demonstrate the // Type.GetEnumName(Object) Method using System; using System.Globalization; using System.Reflection;

class GFG {

// Defining enum ABC
enum ABC {A, B, C}

// Main Method
public static void Main()
{

    // Creating 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();

        string obj = type.GetEnumName(a);

        Console.WriteLine("Name of constant is: " + obj);
    }

    // catch ArgumentNullException here
    catch (ArgumentNullException e)
    {
        Console.Write("Exception Thrown: ");
        Console.Write("{0}", e.GetType(), e.Message);
    }
}

}

`

Output:

Name of constant is: A

Example 2: For ArgumentException

csharp `

// C# program to demonstrate the // Type.GetEnumName(Object) Method using System; using System.Globalization; using System.Reflection;

class GFG {

// Defining enum ABC
enum ABC {A, B, C}

// Main Method
public static void Main()
{

    // Creating 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 = typeof(int);

        string obj = type.GetEnumName(a);

        Console.WriteLine("Name of constant is: " + obj);
    }

    // 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: For ArgumentNullException

csharp `

// C# program to demonstrate the // Type.GetEnumName(Object) Method using System; using System.Globalization; using System.Reflection;

class GFG {

// Defining enum ABC enum ABC {A, B, C}

// Main Method
public static void Main()
{

    // Creating 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 = typeof(int);

        string obj = type.GetEnumName(null);

        Console.WriteLine("Name of constant is " + obj);
    }

    // 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: