Leer en inglés

Compartir vía


Error del compilador CS1737

Los parámetros opcionales deben aparecer después de todos los parámetros necesarios

El compilador no admite los parámetros opcionales que se declaran antes de los parámetros necesarios. Todos los parámetros opcionales deben aparecer después de todos los parámetros necesarios.

Ejemplo

En el siguiente ejemplo se genera el error CS1737:

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

Para corregir este error

La signatura de este método se puede cambiar sin afectar al código existente, que llama al método porque no se ha usado un valor para el parámetro opcional. Por ejemplo:

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