Ho una situazione simile alla seguente:C# - Verificare l'esistenza di attributo elemento di enum
enum Header
{
Sync,
[OldProtocol] Keepalive,
Ping,
[OldProtocol] Auth,
[OldProtocol] LoginData
//...
}
Ho bisogno di ottenere una serie di elementi su cui la OldProtocolAttribute
è definito. Ho notato che il metodo Attribute.IsDefined()
e i suoi sovraccarichi non supportano questo tipo di situazione.
La mia domanda è:
- C'è un modo per risolvere il problema senza l'utilizzo in qualsiasi parte della soluzione
typeof(Header).GetField()
? - In caso contrario, qual è il modo migliore per risolverlo?
Perfetto, grazie! – user1098567
@Jon Skeet, manchi ")" dopo ".Where (field => field.IsDefined (attributeType, false)" - questo codice non verrà compilato –
@nuclearsweet: risolto, grazie. –