Comment définir le paramètre optionnel sans constante à la compilation
Est-il un moyen d'écrire la méthode C# ci-dessous:
public string Download(Encoding contentEncoding = null) {
defaultEncoding = contentEncoding ?? Encoding.UTF8;
//codes...
}
avec un paramètre par défaut de sorte qu'il ressemble à ceci:
public string Download(Encoding contentEncoding = Encoding.UTF8) {
//codes...
}
sans l'aide d'une constante de compilation?
OriginalL'auteur cilerler | 2013-02-09
Vous devez vous connecter pour publier un commentaire.
En bref. No.
Paramètres facultatifs sont nécessaires à la compilation des constantes ou des types de valeur.
De Nommé et Arguments Optionnels (Guide de Programmation C#) sur MSDN:
Ce que vous semblez vouloir atteindre peut être accompli par la surcharge:
Noter que ce n'est pas tout à fait les mêmes que les paramètres facultatifs, en tant que par défaut la valeur est codée en dur dans l'appelant avec des paramètres optionnels (c'est pourquoi les restrictions pour elles existent).
ArgumentNullException
dans la seconde surcharge lorsquecontentEncoding
est null.OriginalL'auteur Oded
Utiliser les surcharges:
OriginalL'auteur Mohammad Dehghan
OriginalL'auteur MirlvsMaximvs