为什么C#8默认实现接口成员会报错

Why C#8 Default implementations of interface members will report an error

为什么C#8默认实现接口成员会报错?

public interface Logger
{
    void Info(string message);
    void Error(string message);
    // C#8 Default implementations of interface
    void Warn(string message)
    {
        // "interface method cannot declare a body" error message
    }
}

.NET Core 3.0配置如截图所示

功能正常,您的设置正确。以下内容也对我有用,我可以在 .Net Core 3

中编译和 运行 以下内容
class Program
{
   interface IDefaultInterfaceMethod
   {
      void DefaultMethod()
      {
         Console.WriteLine("I am a default method in the interface!");
      }
   }
   static void Main(string[] args)
   {
      Console.WriteLine("Hello World!");
   }
}

请注意 ,我在 IDE 中收到您的错误!!然而 error window 中没有错误。但是,它仍然可以编译并且 运行s 所以它不是 C#8.. 看到这是一个 sure-sign 其他问题

简而言之,这可能是 Resharper 问题,当我暂停 Resharper 时,误报消失了

这是一个 Resharper/Rider 错误:https://youtrack.jetbrains.com/issue/RSRP-474628