So come eseguire il ciclo attraverso l'elenco enum delle proprietà, ma come faccio a scorrere tra tutte le proprietà enum "selezionate"? Ad esempio, se uno ha fatto Prop1 | Prop2
contro public enum Foo { Prop1; Prop2; Prop3 }
, come potrei ottenere questo?Ciclo attraverso i valori Enum "selezionati"?
Questo è quello che ho adesso:
var values = Enum.GetValues(typeof(FileStatus)).Cast<FileStatus>();
foreach (var value in values)
{
}
Esso scorre tutte le proprietà enum, ma mi piacerebbe ciclo solo quelli che sono stati "selezionati".
Aggiornamento: [Flags]
l'attributo è stato impostato.
Aggiornamento 2: l'enumerazione contiene un gran numero di proprietà, non posso e non scriverò/hardcode un singolo controllo di proprietà, invece voglio scorrere dinamicamente ciascuna di esse e controllare se la mia istanza di enum Bar
contiene il set di articoli in loop.
Forse ti infili il FlagsAttribute sul enum? – scottheckel
@Hexxagonal: non importa. Tuttavia, l'assegnazione esplicita di valori è molto importante. –
@Hexxagonal Questo è davvero più opzionale di qualsiasi altra cosa. Le enumerazioni possono o meno essere ciascuna delle potenze di due. Indipendentemente dal fatto che le bandiere att. è impostato * dovrebbe * importare, ma in realtà non lo è. – Servy