GetType() मेथड किसी भी ऑब्जेक्ट का रनटाइम टाइप लौटाता है। एनम मानों पर उपयोग करके उनका एन्यूमरेशन टाइप और अंतर्निहित टाइप जान सकते हैं।
उदाहरण
using System;
public class Demo
{
public static void Main()
{
Enum[] values = { ConsoleColor.Blue, DayOfWeek.Sunday };
Console.WriteLine("{0,-5} {1,10} {2,10}", "Member", "Enumeration", "UnderlyingType");
foreach (var val in values)
{
Info(val);
}
}
static void Info(Enum val)
{
Type enumType = val.GetType(); // एनम टाइप (जैसे ConsoleColor)
Type underlyingType = Enum.GetUnderlyingType(enumType); // अंतर्निहित टाइप (जैसे Int32)
Console.WriteLine("{0,-5} {1,10} {2,10}", val, enumType.Name, underlyingType.Name);
}
}
आउटपुट
Member Enumeration UnderlyingType Blue ConsoleColor Int32 Sunday DayOfWeek Int32
मुख्य बिंदु
val.GetType(): रनटाइम पर एनम टाइप (ConsoleColor,DayOfWeek)।Enum.GetUnderlyingType(enumType): अंतर्निहित इंटीग्रल टाइप (Int32डिफ़ॉल्ट)।- एनम का अंतर्निहित टाइप बदल सकते हैं:
enum MyEnum : byte { }→Byte। - रिफ्लेक्शन के लिए उपयोगी: सीरियलाइज़ेशन, UI बाइंडिंग, डायनामिक कोड।