El "valor" varía de 0 a 15 (sus posibles valores). ¿Cuándo se cumplirán esas 4 condiciones "si"? Si mi (int) valor = 2, ¿significa esto 0010?
if ((int)value & 0x1)
{
//statement here
}
if ((int)value & 0x2)
{
//statement here
}
if ((int)value & 0x4)
{
//statement here
}
if ((int)value & 0x8)
{
//statement here
}
Enum.HasFlag
método para probar bits. Ver: Enum.HasFlag .
value
(leerif(value & 0x4)
como "Es el 3er bit delvalue
conjunto (= 1)). Como aparentemente tiene problemas para entender el código, supongo que no es suyo. Esto (y el hecho de que no está preguntando para su revisión) hace que esta pregunta fuera del tema de CR.SE .