Compiler Error CS8139

cannot change tuple element names when overriding inherited member

Example

The following sample generates CS8139:

// CS8139.cs (9,38)

public class Base
{
    public virtual (object a, object b) M((object c, object d) x) { return x; }
}

class C : Base
{
    public override (object, object) M((object c, object d) y) { return y; }
}

To correct this error

Ensuring the tuple element names in the overriding member match those in the virtual member corrects this error:

class C : Base
{
    public override (object a, object b) M((object c, object d) y) { return y; }
}