Что случилось с возможностью переопределить реализации интерфейса по умолчанию в C# 8, .Net Core 3?

Предложение C# 8 для методов интерфейса по умолчанию показывает следующий пример...

using static System.Console;

interface IA
{
    void M() 
    {
        WriteLine("IA.M"); 
    }
}
interface IB : IA
{
    override void IA.M()    // The modifier 'override' is not valid for this item
    {
        WriteLine("IB.M");
    }
}
interface IC : IA
{
    override void IA.M()    // The modifier 'override' is not valid for this item
    { 
        WriteLine("IC.M"); 
    }
}

class D : IA, IB, IC
{
    void IA.M() 
    { 
        base(IB).M();       // Use of keyword 'base' is not valid in this context
    }
}

... но он не компилируется в последней версии Visual Studio 2019 (v16.4.5).

Что случилось с этой функцией? Он просто еще не реализован или было принято решение отказаться от него?

0 ответов

Другие вопросы по тегам