Как определить представленный тип значения enum?

Рассмотрим следующие два перечисления:

enum MyEnum1 {
    Value1 = 1,
    Value2 = 2,
    Value3 = 3
}

enum MyEnum2 {
     Value1 = 'a',
     Value2 = 'b',
     Value3 = 'c'
}

Я могу получить физическое значение, представленное этими значениями перечисления, посредством явного приведения,((int)MyEnum1.Value2) == 2 или же((char)MyEnum2.Value2) == 'b', но что, если я хочу получить представление типа char или int, не зная заранее, к какому типу приводиться?

Можно ли получить базовое значение перечисления без приведения или, по крайней мере, программно возможно определить правильный тип базового значения?

Ответы на вопрос(4)

Ваш ответ на вопрос