Преобразование перечисления в строку базового типа в VB.Net (параметр Strict On)

Я хотел бы получить строковое представление базового типа перечисления.

    Dim target As System.ConsoleColor = ConsoleColor.Cyan
    Dim actual = 'What goes here?
    Dim expected = "11"

person Larsenal    schedule 30.01.2009    source источник
comment
Не уверен, что понимаю: вам нужно целочисленное значение, поддерживающее ConsoleColor.Cyan, вам нужна строка Cyan или вам нужна строка ConsoleColor.Cyan?   -  person Joel Coehoorn    schedule 30.01.2009


Ответы (1)


В терминах С#; вы могли бы предположить int:

int val = (int) target;
string valString = val.ToString();

или если вы не хотите, чтобы предположение:

object val = Convert.ChangeType(target,
    Enum.GetUnderlyingType(typeof(ConsoleColor)));
string valString = val.ToString();
person Marc Gravell    schedule 30.01.2009
comment
Результаты вашего примера: valueName=ConsoleColor и typeName=Cyan - person Larsenal; 30.01.2009