C # - Проверить наличие атрибута в элементе перечисления

У меня такая ситуация:

enum Header
{
    Sync,
    [OldProtocol] Keepalive,
    Ping,
    [OldProtocol] Auth,
    [OldProtocol] LoginData
    //...
}

Мне нужно получить массив элементов, для которых определен OldProtocolAttribute . Я заметил, что метод Attribute.IsDefined () и его перегрузки явно не поддерживают такого рода ситуации.

Мой вопрос:

  • Есть ли способ решить проблему без использования в какой-либо части решения typeof (Header) .GetField () ?
  • Если нет, то какой оптимальный способ ее решения?
11
задан user1098567 7 January 2012 в 17:00
поделиться