абстрактные методы интерфейса в C # 8 превью - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь:

public interface I { abstract void F(); }

Я получаю:

Модификатор 'abstract' недопустим для этого элемента в C # 7.3. пожалуйста используйте языковую версию 'preview' или выше.

Однако я не могу найти упоминания об этой функции, т.е. в https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-8

Где я могу найти документы для этого? или здесь сообщение не так?

1 Ответ

2 голосов
/ 30 апреля 2019

C # 8.0 позволит модификаторы и реализации по умолчанию для членов интерфейса.Вы можете увидеть обсуждение здесь и подробности здесь

Однако модификатор abstract в методе интерфейса не имеет смысла в IMO, но он может быть доступен в C #8, так как другие модификаторы также будут действительны.

Вы видите, что abstract указан в разрешенных модификаторах

Синтаксис для интерфейса смягчен, чтобы разрешить модификаторы для его членов.Разрешается следующее: частное, защищенное, внутреннее, общедоступное, виртуальное, аннотация , запечатанное, статическое, внешнее и частичное.

...