Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получить значение аттрибута 
:(
    Опции темы
cupper
Дата 16.12.2010, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



Здравствуйте нужно получить значение аттрибута.
Есть enum
Код

public enum AtomStatus {

        [Description("Действующий без ограничений")]
        WithNoRestrictions
    }

есть свойство класса которое возвращает элемент из него
Код

public AtomStatus Status {
            get {
                return AtomStatus.WithNoRestrictions;
            }
        }

и есть код где нужно получить аттрибут Description возвращаемого значения, и единственный способ который я пока нашел это
Код

DescriptionAttribute[] attributesStatus = (DescriptionAttribute[])atom.Status.GetType().GetField(atom.Status.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), false);
            this.cellState.Text = (attributesStatus.Length > 0) ? attributesStatus[0].Description : String.Empty;

но это АХТУН. Есть более человеческий и короткий, простой способ сделать тоже самое (бех массивов, кучи преобразований и в одну строчку).
А то этот способ это полный АХТУНГ и нужно бегать и бить всех ногами, чтобы так никто больше ни делал.
PM MAIL   Вверх
CYBERDREAM
Дата 16.12.2010, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



я бы сделал класс обертку для этого
описывал тут пример: http://base.vingrad.ru/view/3150-Opisanie-Enum

Добавлено через 5 минут и 58 секунд
поправил только что на статик класс, удобнее использовать


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
cupper
Дата 16.12.2010, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 525
Регистрация: 29.11.2006

Репутация: нет
Всего: 1



позже сообщили что в проекте есть такая обертка. Но сам факт того что это вполне нормальное использование С# приводит в ступр :(
PM MAIL   Вверх
CYBERDREAM
Дата 16.12.2010, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I think, there4 I am
***


Профиль
Группа: Завсегдатай
Сообщений: 1096
Регистрация: 31.10.2006
Где: CyberLand

Репутация: 11
Всего: 28



видимо не все так просто


--------------------
Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно)
Telegram, skype: kuchuk.artiom
PM MAIL WWW   Вверх
KelTron
Дата 16.12.2010, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 745
Регистрация: 8.10.2006
Где: Красноярск

Репутация: 9
Всего: 38



Цитата(cupper @  16.12.2010,  12:40 Найти цитируемый пост)
Но сам факт того что это вполне нормальное использование С# приводит в ступр

Ну а что тут такого, это reflection. Ты видать ещё с вордом или экселем через него не работал, там ещё страшней ..)


--------------------
Тысячами незримых нитей обвивает тебя Закон. Разрубишь одну - преступник. Десять - смертник. Все - Бог.
Эвенгар Салладорский, основатель Школы Тьмы.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0752 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.