2011-01-09 9 views

Respuesta

27

Banderas es simplemente una abreviatura de FlagsAttribute. En C#, puede dejar el sufijo "Atributo" fuera de un atributo cuando lo aplica a un elemento.

En cuanto a Banderas en sí, todo lo que hace es denotar la enum como teniendo miembros de banderas. Aún debe asegurarse de que los miembros tengan valores que se combinen correctamente. Algunas funciones del marco, como Enum.ToString, buscarán el atributo de indicadores para determinar cómo interpretar el valor.

+4

Una forma de asegurarme de que los valores "combinen correctamente" es comenzando en 0 para 'ninguno', luego cada valor enum se incrementa en bits cambiando uno a la izquierda. Ejemplo: '1 << 0' (1),' 1 << 1' (2), '1 << 2' (4), etc. –