C# Error CS8139 – ‘{0}’: cannot change tuple element names when overriding inherited member ‘{1}’

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; }
}

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...