2012-10-10 9 views
6

Mi chiedo perché la regola Analisi codice CA1305 - Specify IFormatProvider non funzioni per i metodi TryParse?Analisi codice Visual Studio 2010 La regola CA1305 (Specifica IFormatProvider) non funziona per i metodi TryParse

Ad esempio, con set di regole 'Microsoft Tutte le regole', analisi del codice dà avvertimento CA1305 per la seguente codice:

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

    double value = double.Parse(text); 
} 

ma non dà avvertimento CA1305 per la seguente codice:

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

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

I trovato questo molto sfortunato perché i metodi TryParse sono il modo corretto di fare il parsing se la stringa di input non è affidabile.

Qualcuno sa se la regola CA1305 per i metodi TryParse è implementata in alcune versioni più recenti dello strumento di analisi del codice o di terze parti?

+0

C'è un [Connect Bug] (https://connect.microsoft.com/VisualStudio/feedbackdetail/view/788373/code-analysis-rule-ca1305-is-missed-for-tryparse) per questo. –

risposta

0

Questo problema è stato risolto in FxCop e negli strumenti più recenti come SonarLint.

Problemi correlati