2011-03-14 27 views
13

Bir enumun temel/türetilmiş Türünü (bayt, kısa, int, vb.) Nasıl edinirsiniz?Temel/türetilmiş enum türünü al?

+1

@ChrisF: Tip değil değer arıyor. – Will

+0

Özür dilerim. Diğer başlığı yanlış okuyorum. Yakın oyu geri alabilirsem yapardım. Otomatik eklenen yorum silindi. – ChrisF

cevap

19

Enum.GetUnderlyingType(enumType); MSDN den

Örnek:

static object GetAsUnderlyingType(Enum enval) 
{ 
    Type entype = enval.GetType(); 

    Type undertype = Enum.GetUnderlyingType(entype); 

    return Convert.ChangeType(enval, undertype); 
} 
+0

Sadece yeterli, teşekkürler. – Will

3
using System; 

class Program 
{ 
    enum IntEnum : int { A } 

    static void Main(string[] args) 
    { 
     var intEnum = IntEnum.A; 

     Console.WriteLine(intEnum.GetType().GetEnumUnderlyingType()); 

     Console.WriteLine("Press any key to exit..."); 
     Console.ReadKey(); 
    }  
}