Como lidar com este Aviso de injecção SQL (CA2100)

Abaixo está o código que obtive da página da Microsoft: SqlCommand

public static Int32 ExecuteNonQuery(String connectionString, String commandText, CommandType commandType, params SqlParameter[] parameters)
{
        using (SqlConnection conn = new SqlConnection(connectionString))
        {
            using (SqlCommand cmd = new SqlCommand(commandText, conn))
            {
                // There're three command types: StoredProcedure, Text, TableDirect. The TableDirect 
                // type is only for OLE DB.  
                cmd.CommandType = commandType;
                cmd.Parameters.AddRange(parameters);

                conn.Open();
                return cmd.ExecuteNonQuery();
            }
        }
}

No entanto, a análise de código VS ainda se queixa de "CA2100":

aviso CA2100 o texto da consulta passou para ' SqlCommand.SqlCommand (string, SqlConnection)' in 'FlexClaimFormRepository.ExecuteNonQuery (string, string, CommandType, params SqlParameter[])' poderia conter as seguintes variáveis 'commandText'. Se alguma destas variáveis puder vir da entrada do utilizador, considere a utilização de um procedure or a parameterized SQL query instead of building the query with string concatenations.

Eu sei a razão exacta pela qual o aviso está lá, mas a anyidea sabe como se livrar dele? Dada a configuração do texto de comando dentro da função não é aceitável, uma vez que eu quero que seja um parâmetro.

Author: marc_s, 2017-11-06