当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# Type.IsEnumDefined()用法及代码示例


Type.IsEnumDefined(Object)方法用于返回一个值,该值指示当前枚举类型中是否存在指定的值。

用法: public virtual bool IsEnumDefined (object value);
Here, it takes the value to be tested.

返回值:如果指定的值是当前枚举类型的成员,则此方法返回true,否则返回false。


异常

  • ArgumentException:如果当前类型不是枚举。
  • ArgumentNullException:如果值为null。
  • InvalidOperationException:如果值的类型不能为枚举的基础类型。

以下示例程序旨在说明Type.IsEnumDefined(Object)方法的用法:

示例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); 
        } 
    } 
}
输出:
specified value is a member of the current enumeration type

示例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); 
        } 
    } 
}
输出:
The current type is not an enumeration.
Exception Thrown: System.ArgumentException

示例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); 
        } 
    } 
}
输出:
value is null.
Exception Thrown: System.ArgumentNullException

参考:



相关用法


注:本文由纯净天空筛选整理自RohitPrasad3大神的英文原创作品 C# | Type.IsEnumDefined() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。