C# how to add a default implementation to an interface which is overriding another interface

74 Views Asked by At

For example:

interface IDottable : IGetDottable
{
    bool try_dot_operator(string name);
    // ... more methods
    IDottable Dottable => this;
}
interface IGetDottable
{
    IDottable Dottable {get;}
}

It gives me:

"'IDottable.Dottable' hides inherited member 'IGetDottable.Dottable'. Use the new keyword if hiding was intended.".
1

There are 1 best solutions below

0
On BEST ANSWER

Try this:

interface IDottable : IGetDottable
{
     bool try_dot_operator(string name);
     // ... more methods
     IDottable IGetDottable.Dottable => this;
}
interface IGetDottable
{
    IDottable Dottable {get;}
}

Default implementations in interfaces do not make the method public.