2012-10-10 9 views
6

Me pregunto por qué Code Analysis regla CA1305 - Specify IFormatProvider no funciona para TryParse métodos?Visual Studio 2010 Code Analysis CA1305 (Specify IFormatProvider) regla no funciona para TryParse métodos

Por ejemplo con el conjunto de reglas 'de Microsoft Todas las reglas', análisis de código da la advertencia de CA1305 siguiente código:

static void Main(string[] args) 
{ 
    string text = args[0]; 

    double value = double.Parse(text); 
} 

pero no proporciona una alerta para el CA1305 siguiente código:

static void Main(string[] args) 
{ 
    string text = args[0]; 

    double value; 
    if (!double.TryParse(text, out value)) 
     value = 0; 
} 

I descubrió que esto es muy desafortunado porque los métodos TryParse son la forma correcta de realizar el análisis si la cadena de entrada no es confiable.

¿Alguien sabe si la regla CA1305 para métodos TryParse se implementa en alguna versión más reciente de la herramienta de análisis de código o por un tercero?

+0

Hay un [Error de conexión] (https://connect.microsoft.com/VisualStudio/feedbackdetail/view/788373/code-analysis-rule-ca1305-is-missed-for-tryparse) para esto. –

Respuesta

0

Esto desde entonces se ha solucionado en FxCop, así como en herramientas más recientes como SonarLint.

Cuestiones relacionadas