Chaîne vide à Double utilisation (Try)Analyser

J'en ai un avec 1.1 système de construction ici à l'aide de l'Analyser pour la conversion de valeurs (maintenant, c'est de 3,5).

string myString = String.Empty;
double myValue = double.Parse(myString);

jette un FormatException (je m'attendais 0.0).

Si je réécriture utilisant 2.0+

string myString = String.Empty;
double myValue;
if (double.TryParse(myString, out myValue))
    //do something

- Je obtenir le voulait 0.0, mais malheureusement, je perds la possibilité d'obtenir un message d'erreur significatif (dans le reste de l'arbre).

Pourquoi me donner Analyser une erreur et TryParse ma valeur attendue?
Est-il possible d'obtenir le message d'erreur de TryParse (le temps n'est pas le problème)?

Je ne veux pas travailler autour d'elle comme ça:

  • Éviter l'erreur à l'aide de si...alors
    myValue = myString.Length == 0 ? 0.0 : double.Parse(myString);
  • Deux Appels si une erreur s'est produite
    if (!double.TryParse(myString, out myValue))
        myValue = double.Parse(myString);
Comment est “la chaîne d'Entrée n'était pas dans un format correct.” un “message d'erreur significatif”?
Quel est le problème avec elle? Une chaîne vide n'est pas valide d'un nombre double. Comment beaucoup plus de détails dans le message d'erreur avez-vous vous attendre?

OriginalL'auteur UNeverNo | 2012-12-19