2009-03-25 6 views

Répondre

9

ArgumentExceptions contient le nom du paramètre qui n'est pas valide. Pour un setter de propriété, le paramètre réel est nommé value (dans le code source et dans le code généré). Il est plus cohérent d'utiliser ce nom.

+1

Je suppose que l'hypothèse est que le StackTrace clarifierait la propriété en question. –

2

Oui, il serait plus clair de passer le nom de la propriété.

8

Après de longues farfouillé avec réflecteur (en essayant de trouver un objet CLR avec une propriété inscriptible), le premier que je trouve (FileStream.Position) en utilisant la « valeur » comme le nom de l'argument:

if (value < 0L) 
{ 
    throw new ArgumentOutOfRangeException("value", 
       Environment.GetResourceString("NeedNonNegNum")); 
}