Dans le code du travail, nous avons de nombreuses utilisations de cordes magiques comme l'extrait de code suivant:.Net - Stratégies pour éviter chaîne magique
if (user.HasRight("Profile.View")) {...}
Donc il y a beaucoup d'endroits où on passe une chaîne en tant que paramètre voir si l'utilisateur a un droit spécifique. Je n'aime pas ça parce que cela génère beaucoup de chaînes magiques.
Quelle serait une meilleure façon de le faire?
Enum, Constante, classe?
En fonction des besoins, cela peut aussi être transformé en drapeaux ENUM, à savoir où les valeurs peuvent être combinées en utilisant '|', par exemple en utilisant les valeurs 0x1 , 0x2, 0x4, etc ... –
Bonne réponse et ma réponse était identique. Je pourrais ajouter que le but d'un 'enum' est de créer une" liste énumérée "de constantes. Regrouper les constantes où elles peuvent être listées comme ceci est une excellente idée et donne au programme un flux plus logique. – Armstrongest
Dans le cas où une représentation sous forme de chaîne est également requise, par ex. pour stocker le jeu d'autorisations d'une manière lisible par l'homme, vous pouvez simplement appeler 'ProfilePermissions.View.ToString()' pour obtenir la chaîne "View", ou si vous avez besoin d'une représentation de chaîne personnalisée, vous pouvez ajouter un adorning * Description * attribut comme décrit ici: http://blogs.msdn.com/b/abhinaba/archive/2005/10/20/483000.aspx –