Estoy usando un atributo de enumeración con indicadores como una forma de seguimiento del estado.Encontrar el indicador de conjunto más alto en un valor de enumeración
Un ejemplo es el siguiente:
Created = 1
Completed = 2
Dispatched = 4
Sin escribir nada demasiado rígido (si comprobación de esto, haz aquello, si comprobación de que, hacer esto) quiero ser capaz de encontrar la bandera más alta que ha sido establecer por lo que en este ejemplo:
Item.Status = Status.Created | Status.Completed
el método mítico volvería 2 - como completada es la bandera de conjunto con el valor más alto.
GetMaxSetFlagValue(Item.Status) // returns 2
He encontrado preguntas que giran en torno a la enumeración real, simplemente no es un valor que usa banderas. Estoy bastante seguro de que esto podría lograrse con Linq ...?