VS2010 MSDN Named and Optional Arguments (C# Programming Guide) nous parle de paramètres facultatifs en C#, montrant le code comme je pense:Valeur par défaut du paramètre OptionalAttribute?
public void ExampleMethod(int required,
string optionalstr = "default string",
int optionalint = 10)
Ok, mais il dit aussi:
Vous pouvez également déclarer en option des paramètres à l'aide le .NET classe OptionalAttribute. Les paramètres OptionalAttribute ne requièrent pas de valeur par défaut.
Je lis MSDN's OptionalAttribute page, et fait des recherches en ligne (ce qui montre beaucoup de gens se réclamant des paramètres de OptionalAttribute ne peuvent pas être consommés par C# - Je devine que ces commentaires ont été faites avant C# 4), mais je peux » t trouver la réponse à deux questions:
Si je OptionalAttribute pour définir un paramètre C# en option:
- quelle valeur sera utilisée si j'appelle cette méthode et ne précise pas la valeur de ce paramètre?
- cette valeur sera-t-elle évaluée au moment de la compilation ou de l'exécution?
Exécutez-le dans le débogage et vérifiez sa valeur. Je suspecterais null. –
Eh bien, je suspecterais 'default (T)' qui est nul ou zéro. –