Получите Целочисленное значение перечисления, которое является дженериком

Вы можете использовать get() для этого. Например:

for (i in ls()) {
  print(get(i))
}
29
задан Ross Goddard 18 December 2008 в 18:48
поделиться

3 ответа

Я собирался использовать прохладную часть отражательного кода, но просто простое Convert.ToInt32 работает отлично... Простите мой VB, я - парень C#

Public Function GetEnumInt(Of T)(enumVal As T) As Integer
    Return Convert.ToInt32(enumVal)
End Function
52
ответ дан joshperry 14 October 2019 в 07:47
поделиться

Я попробовал это, и это работало:

String.Format("{0:d}", MyValue)
7
ответ дан Ross Goddard 14 October 2019 в 07:47
поделиться

Я знаю, что можно сделать следующее для получения всех базовых значений (я надеюсь, что мой синтаксис VB корректен... Я работал в C# главным образом в последнее время):

Dim intVal As Integer

For Each intVal In  [Enum].GetValues(GetType(T))
    //intValue is now the enum integer value
Next

, Который мог бы, по крайней мере, запустить Вас в правильном направлении.

3
ответ дан Jason Down 14 October 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: