En el código en el trabajo, tenemos muchos usos de las cuerdas mágicas como el siguiente fragmento de código:.Net - estrategias para evitar la cadena mágica
if (user.HasRight("Profile.View")) {...}
lo que hay muchos lugares en los que pasar una cadena como parámetro para ver si el usuario tiene un derecho específico. No me gusta porque eso genera muchas cadenas mágicas.
¿Cuál sería una mejor manera de hacerlo?
Enum, Constant, clase?
Dependiendo de los requisitos de esto también se puede convertir en un banderas-enumeración, es decir, donde los valores se pueden combinar usando '|', por ejemplo mediante el uso de la 0x1 valores , 0x2, 0x4, etc ... –
Buena respuesta y mi respuesta fue idéntica. Debo añadir que el objetivo de un 'enum' es crear una" lista enumerada "de constantes. Agrupar constantes donde se pueden enumerar de esta manera es una gran idea y le da al programa un flujo más lógico también. – Armstrongest
En caso de que también se requiera una representación de cadena, p. para almacenar el conjunto de permisos de una manera legible por humanos, puede simplemente llamar a 'ProfilePermissions.View.ToString()' para obtener la cadena "Ver", o si necesita una representación de cadena personalizada, puede agregar un adorno * Descripción * atributo como se describe aquí: http://blogs.msdn.com/b/abhinaba/archive/2005/10/20/483000.aspx –