W kodzie w pracy, mamy wiele zastosowań magicznych ciągów jak poniższym fragmencie kodu:.net - Strategie uniknąć magiczne ciąg
if (user.HasRight("Profile.View")) {...}
więc istnieje wiele miejsc, gdzie mijamy ciąg jako parametr zobacz, czy użytkownik ma określone prawo. Nie podoba mi się to, ponieważ generuje wiele magicznych ciągów.
Jaki byłby lepszy sposób na zrobienie tego?
Enum, stała, klasa?
W zależności od potrzeb może to być również przekształcony w flagi-wyliczenia, czyli gdzie wartości mogą być łączone za pomocą '|', na przykład za pomocą 0x1 wartości , 0x2, 0x4, etc ... –
Dobra odpowiedź i moja odpowiedź była identyczna. Mogę dodać, że celem 'enum' jest stworzenie" listy wyliczeniowej "stałych. Grupowanie stałych, w których mogą być wymienione w ten sposób, jest świetnym pomysłem i zapewnia programowi również bardziej logiczny przebieg. – Armstrongest
W przypadku, gdy wymagana jest również reprezentacja ciągów znaków, np. Aby przechowywać zestaw uprawnień w czytelny dla człowieka sposób, możesz po prostu wywołać 'ProfilePermissions.View.ToString()', aby uzyskać ciąg "Widok", lub jeśli potrzebujesz niestandardowej reprezentacji ciągów, możesz dodać dekorowanie * Opis * atrybut opisany tutaj: http://blogs.msdn.com/b/abhinaba/archive/2005/10/20/483000.aspx –