C# Error
CS8139 – ‘{0}’: cannot change tuple element names when overriding inherited member ‘{1}’
Reason for the Error & Solution
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; }
}