Jeśli masz handlować w łańcuchach, najlepiej jest umieścić na białej liście. Po pierwsze, sortDirection
powinno być dość trywialne na białej liście:porównanie bez uwzględniania wielkości liter do "asc"
/ "desc"
i powinieneś być ustawiony. W przypadku innych wolę umieścić na białej liście znane kolumny , być może przekazując oczekiwany Type
dla danych i walidacji. Ale w razie potrzeby możesz ograniczyć za pomocą wyrażenia regularnego, aby (powiedzmy) wymusić, że wszystkie są ściśle alfanumeryczne (w zakresie a-z, A-Z, 0-9 - w razie potrzeby może być podkreślone) - a następnie dodaj []
, czyli
return string.Format("[{0}] {1}", sortColumn, sortDirection);
Ale:ścisła biała lista znanych kolumn byłaby znacznie lepsza, podobnie jak wyliczenie kierunku.