Подтвердить что ты не робот

Как реализовать свойства интерфейса NOT в алфавитном порядке

Я использую VS 2015.
Когда я создаю новый класс и пытаюсь реализовать интерфейс с помощью ярлыка Ctrl + . - например, class StarShip : IStarShip а затем я использую Ctrl + . и выбираю implement interface - он реализует свойства и методы, но в алфавитном порядке! Есть ли простой способ заставить его реализовать их в том порядке, в котором они находятся в интерфейсе, или я должен сделать это вручную?

У меня нет Resharper, так что не вариант.

4b9b3361

Ответ 1

Функциональность интерфейса "реализация интерфейса VS", очевидно, использует отражение для генерации кода, и в API отражения нет ничего, что гарантирует порядок членов, возвращаемых различными вызовами. Мы не контролируем ни порядок отражения, ни генератор кода VS, используемый для реализации интерфейсов, поэтому мы не можем изменить способ его работы.

В основном единственный вариант - использовать расширение VS, такое как resharper, которое заменяет функциональные возможности интерфейса.

Ответ 2

В VS2019 вы можете изменить это в настройках.

Сервис → Параметры → С# → Дополнительно → Интерфейс реализации или Абстрактный класс → Установить "в конце".

Кажется, что это добавляет функции в том же порядке, что и в интерфейсе.