Sé cómo recorrer toda la lista de propiedades, pero ¿cómo recorrería todas las propiedades enumeradas "seleccionadas"? Por ejemplo, si uno hizo Prop1 | Prop2
contra public enum Foo { Prop1; Prop2; Prop3 }
, ¿cómo lo conseguiría?Pasa por los valores Enum "seleccionados"?
Esto es lo que tengo ahora:
var values = Enum.GetValues(typeof(FileStatus)).Cast<FileStatus>();
foreach (var value in values)
{
}
Se coloca a través de todas las propiedades de enumeración, pero me gustaría bucle sólo los que fueron "seleccionados".
Actualización: [Flags]
atributo se estableció.
Actualización 2: La enumeración contiene un gran número de propiedades, no puedo y no escribiré/codificaré una sola comprobación de propiedad, en su lugar quiero pasar dinámicamente por cada una de ellas y comprobar si mi instancia enum Bar
contiene el conjunto de elementos en bucle.
¿Usted se pega la FlagsAttribute en la enumeración? – scottheckel
@Hexxagonal: no importa. Sin embargo, asignar valores explícitamente importa mucho. –
@Hexxagonal Eso es realmente más opcional que nada. Las enumeraciones pueden o no ser poderes de dos. Si las banderas están o no está configurado * debería * importar, pero realmente no es así. – Servy