2015-12-03 4 views
1

Я исследовал, и кажется, что большинство из нас сталкивается с проблемой, которую я испытываю.Как я могу получить отображаемое имя из моего enum

@Code 
@Imports System.ComponentModel 
Dim values = New SelectList([Enum].GetNames(GetType(myEnum)).GetAttribute<DisplayAttribute>() 
End Code 

Последняя паранезия имеет синюю линию под ней, и когда наведение говорит мне, что ожидается выражение. Я хочу захватить отображаемое имя из моего перечисления и пробовал много вещей, найденных в поиске Google, без успеха. Почему я получаю выражение ожидаемой ошибки?

Попытка включить и теперь получить в конце круглую скобку
Предполагается, что тип Dim = typeof (MyEnum) ls.

+0

Возможный дубликат [Получение атрибутов значения ENUM в] (http://stackoverflow.com/questions/1799370/getting-attributes-of-enums-value) – Steve

+0

Версия VB http://stackoverflow.com/a/25477800/1070452 (при условии, что «отображаемое имя» означает «ОписаниеAttribute») – Plutonix

+0

Импорт System.Reflection, а также System.ComponentModel Dim value = [Enum] .GetNames (GetType (MyEnum) Dim descry как новый список (из String) Для каждого v в значении descry.Add (GetDescription. (Ctype (v, [Enum]))) говорит мне, что GetDescription не объявлен –

ответ

0

Возможно, вам стоит взглянуть на этот удивительный пакет NuGet под названием UnconstrainedMelody от Jon Skeet.

https://www.nuget.org/packages/UnconstrainedMelody/

Полезные статические методы (или методы расширения) для перечислений и делегатов, с ограничениями, которые не могут быть выражены в обычном C#.

Посмотрите функции UnconstrainedMelody.Enums.GetNames() и UnconstrainedMelody.Enums.GetValues()

Смежные вопросы