Поиск типа по его атрибуту - C#

Узнай цену своей работы

Формулировка задачи:

Есть класс:
Листинг программы
  1. public class MessageBoard
  2. {
  3. [MessageBoardEnumLabel]
  4. public enum MessageType
  5. {
  6. ConnectedToServer,
  7. DisconnectedFromServer,
  8. // ...
  9. }
  10. // ...
  11. }
Как видно, у вложенного типа MessageType есть кастомный атрибут MessageBoardEnumLabel (наследуется от System.Attribute). Суть: в совершенно другом классе нужно получить тип этого перечисления, зная только атрибут. Пробовал использовать рефлексию, но гугла/мсдна/рук оказалось недостаточно. Очень рассчитываю на вашу помощь, заранее спасибо.

Решение задачи: «Поиск типа по его атрибуту»

textual
Листинг программы
  1.             var assembly = Assembly.GetExecutingAssembly();
  2.             var types = assembly.GetTypes();
  3.  
  4.             var enumType =
  5.                 types.FirstOrDefault(
  6.                     t => t.CustomAttributes.Any(a => a.AttributeType == typeof (MessageBoardEnumLabelAttribute)));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.133 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы