Como determinar o tipo representado de valor de enumeração?
Considere as duas enumerações a seguir:
enum MyEnum1 {
Value1 = 1,
Value2 = 2,
Value3 = 3
}
enum MyEnum2 {
Value1 = 'a',
Value2 = 'b',
Value3 = 'c'
}
Eu posso recuperar o valor físico representado por esses valores de enum por meio de conversão explícita,((int)MyEnum1.Value2) == 2
ou((char)MyEnum2.Value2) == 'b'
, mas e se eu quiser obter a representação char ou int sem antes conhecer o tipo para transmitir?
É possível obter o valor subjacente de uma enum sem uma conversão ou é pelo menos programaticamente possível determinar o tipo correto do valor subjacente?