Partager via


Erreur du compilateur CS1737

Les paramètres facultatifs doivent apparaître après tous les paramètres requis

Le compilateur ne prend pas en charge la déclaration des paramètres facultatifs avant les paramètres requis. Tous les paramètres facultatifs doivent apparaître après tous les paramètres requis.

Exemple

L’exemple suivant génère l’erreur CS1737 :

// CS1737.cs (7,45)
class C
{
    static void F(object? x)
    {
        G(y: x);
    }
    static void G(object? x = null, object y)
    {
    }
}

Pour corriger cette erreur

La signature de cette méthode peut être modifiée sans affecter le code existant qui appelle la méthode, car aucune valeur n’a été utilisée pour le paramètre facultatif. Par exemple :

// CS1737.cs (7,45)
class C
{
    static void F(object? x)
    {
        G(y: x);
    }
    static void G(object y, object? x = null)
    {
    }
}