Почему C # 8 реализации по умолчанию членов интерфейса будет сообщать об ошибке - PullRequest
0 голосов
/ 26 сентября 2019

Почему в 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 настроен, как показано на скриншоте.

enter image description here

1 Ответ

4 голосов
/ 26 сентября 2019

Функция звуковая, и ваши настройки верны.Кроме того, следующие работы для меня, я могу скомпилировать и запустить следующее в .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!!пока не было ошибки в окне ошибки .Тем не менее, он все еще компилируется и запускается, так что это не C # 8. Видя, что это верный знак , что-то еще является проблемой

enter image description here

Короче говоря, это, скорее всего, проблема Resharper , когда я приостановил Resharper ложное срабатывание исчезло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...