Чтобы получить имя со значением перечисления, MSDN говорит использовать:Что такое [Enum] из GetName()?
[Enum].GetName(GetType(MyEnumTypeName), MyEnumValue)
'for e.g. if I have an enum for colours of the rainbow, then the following
[Enum].GetName(GetType(RainbowColours), 0)
'may return "Red"
Во-первых, что такое [Enum]
здесь? это первый раз, когда я столкнулся с квадратными скобками, используемыми в этом VB. Могу ли я изменить это:
[MyEnumTypeName].GetName(GetType(MyEnumTypeName), MyEnumValue)
Во-вторых, я указал базовый тип перечисления, чтобы быть Byte
но VS не позволит мне напрямую указать это для целей настоящего заявления
[Enum].GetName(Byte, MyEnumValue)
Могу ли я использовать GetName
таким образом, что мне также не нужно использовать GetType
?
В сочетании бы тогда, возможно, позволит мне использовать:
[MyEnumTypeName].GetName(MyEnumType, MyEnumValue)
только что обнаружил, что квадратные скобки позволяют использовать ключевые слова как типы – Toby
Синтаксис [] ограничивает использование ключевого слова как типа. –
Итак, я мог бы использовать '[MyEnumTypeName] .GetType (GetType (MyEnumTypeName), MyEnumValue)'? – Toby