Reputation: 265
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
Reputation: 431
In VS2019 you can change this in the options.
Tools -> Options -> Text Editor -> C# -> Advanced -> Implement interface or Abstract class
set to at the end
.
Restart Visual Studio.
This seems to add the functions in the same order as in the interface.
Upvotes: 33
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