CS1737-et eredményező fordítási hiba

Az opcionális paramétereknek az összes kötelező paraméter után meg kell jelenniük

A fordító nem támogatja a kötelező paraméterek előtt deklarált opcionális paramétereket. Az összes választható paraméternek az összes kötelező paraméter után kell lennie.

Példa

A következő minta a CS1737-et hozza létre:

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

A hiba kijavítása

A metódus aláírása módosítható a metódust meghívó meglévő kód módosítása nélkül, mert a választható paraméter értéke nem lett használva. Példa:

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