Ce code est-il sûr et fera-t-il ce que j'attends? Y a-t-il des pièges? Est-il nécessaire que GenerateValue utilise un paramètre ref, ou est-ce que la méthode qui prend cet argument par valeur fonctionne aussi?Pouvez-vous utiliser la variable d'un paramètre out comme argument suivant d'une autre fonction dans la même expression que l'appel qui définit le paramètre out?
int value;
UseValue(GenerateValue(out value), ref value);
définition de la méthode ne devrait pas affecter la réponse, mais voici un exemple de définition:
private bool GenerateValue(out int value)
{
bool success = true;
value = 42;
return success;
}
private void UseValue(bool success, ref int value)
{
if (success)
{
System.Diagnostics.Debug.WriteLine(value);
}
}
Il n'est pas nécessaire d'avoir 'ref' dans' UseValue'. – sstan