Se você tem para lidar com strings, então a lista branca é sua melhor aposta. Em primeiro lugar,
sortDirection
deve ser bastante trivial para lista branca:uma comparação que não diferencia maiúsculas de minúsculas com "asc"
/ "desc"
e você deve ser definido. Para os outros, minha preferência seria colocar na lista de permissões colunas conhecidas , talvez passando o Type
esperado para os dados e validar. Mas em um aperto absoluto, você pode restringir com regex para (digamos) impor que todos sejam estritamente alfanumérico (no intervalo a-z, A-Z, 0-9 - talvez sublinhado, se necessário) - e, em seguida, adicione []
, ou seja return string.Format("[{0}] {1}", sortColumn, sortDirection);
Mas:uma lista branca estrita de colunas conhecidas seria muito melhor, assim como uma enumeração para a direção.