IdeasAreBulletProof
IdeasAreBulletProof

Reputation: 265

How to implement interface properties NOT in alphabetical order

I use VS 2015.
When I create a new class and try to implement an interface with the shortcut Ctrl + . -- For example, class StarShip : IStarShip and then I use Ctrl + . and select implement interface -- It implements the properties and methods but in an alphabetical order! Is there an easy way to make it implement them in the order in which they are in the interface, or must I do it manually?

I don't have Resharper, so that's not an option.

Upvotes: 25

Views: 3391

Answers (2)

HKrg
HKrg

Reputation: 431

In VS2019 you can change this in the options.

  1. Tools -> Options -> Text Editor -> C# -> Advanced -> Implement interface or Abstract class set to at the end.

  2. Restart Visual Studio.

This seems to add the functions in the same order as in the interface.

Upvotes: 33

Corey
Corey

Reputation: 16574

The VS 'implement interface' functionality obviously uses reflection to generate the code, and there is nothing in the reflection APIs that guarantees the order of members returned by the various calls. We do not have control over either the reflection order or the VS code generator used to implement interfaces, so we can't change the way it works.

Basically the only option is to use a VS extension like resharper that replaces the implement interface functionality.

Upvotes: 4

Related Questions