Поиск типа по его атрибуту - C#
Формулировка задачи:
Есть класс:
Как видно, у вложенного типа MessageType есть кастомный атрибут MessageBoardEnumLabel (наследуется от System.Attribute). Суть: в совершенно другом классе нужно получить тип этого перечисления, зная только атрибут. Пробовал использовать рефлексию, но гугла/мсдна/рук оказалось недостаточно. Очень рассчитываю на вашу помощь, заранее спасибо.
Листинг программы
- public class MessageBoard
- {
- [MessageBoardEnumLabel]
- public enum MessageType
- {
- ConnectedToServer,
- DisconnectedFromServer,
- // ...
- }
- // ...
- }
Решение задачи: «Поиск типа по его атрибуту»
textual
Листинг программы
- var assembly = Assembly.GetExecutingAssembly();
- var types = assembly.GetTypes();
- var enumType =
- types.FirstOrDefault(
- t => t.CustomAttributes.Any(a => a.AttributeType == typeof (MessageBoardEnumLabelAttribute)));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д