2012-10-10 13 views
6

Ich frage mich, warum Code Analysis Regel CA1305 - Specify IFormatProvider funktioniert nicht für TryParse-Methoden?Visual Studio 2010 Code-Analyse CA1305 (Angeben IFormatProvider) Regel funktioniert nicht für TryParse-Methoden

Zum Beispiel mit Regelsatz 'Microsoft alle Regeln', gibt Code-Analyse-CA1305 Warnung für folgenden Code:

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

    double value = double.Parse(text); 
} 

aber CA1305 Warnung nicht für folgenden Code geben:

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

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

I Ich fand das sehr bedauerlich, da TryParse-Methoden die richtige Methode zum Parsen sind, wenn die Eingabezeichenfolge nicht zuverlässig ist.

Weiß jemand, ob die CA1305-Regel für TryParse-Methoden in einer neueren Version des Code Analysis-Tools oder von Drittanbietern implementiert ist?

+0

Es gibt einen [Connect Bug] (https://connect.microsoft.com/VisualStudio/feedbackdetail/view/788373/code-analysis-rule-ca1305-is-missed-for-tryparse) für diese. –

Antwort

0

Dies wurde seither sowohl in FxCop als auch in neueren Tools wie SonarLint behoben.