如何实现不按字母顺序排列的接口属性
How to implement interface properties NOT in alphabetical order
我使用的是 VS 2015。
当我创建一个新的 class 并尝试使用快捷键 Ctrl + . 实现一个接口时——例如,class StarShip : IStarShip
然后我使用 Ctrl + . 和 select implement interface
- 它实现了属性和方法,但按字母顺序排列命令!
有没有一种简单的方法让它按照它们在界面中的顺序实现它们,还是我必须手动实现?
我没有 Resharper,所以这不是一个选项。
VS 'implement interface' 功能显然使用反射来生成代码,反射 API 中没有任何东西可以保证各种调用返回的成员的顺序。我们无法控制用于实现接口的反射顺序或 VS 代码生成器,因此我们无法更改其工作方式。
基本上唯一的选择是使用像 resharper 这样的 VS 扩展来替换实现接口功能。
在 VS2019 中,您可以在选项中更改它。
Tools -> Options -> Text Editor -> C# -> Advanced -> Implement interface or Abstract class
设置为 at the end
.
重启Visual Studio.
这似乎是按照与界面中相同的顺序添加功能。
我使用的是 VS 2015。
当我创建一个新的 class 并尝试使用快捷键 Ctrl + . 实现一个接口时——例如,class StarShip : IStarShip
然后我使用 Ctrl + . 和 select implement interface
- 它实现了属性和方法,但按字母顺序排列命令!
有没有一种简单的方法让它按照它们在界面中的顺序实现它们,还是我必须手动实现?
我没有 Resharper,所以这不是一个选项。
VS 'implement interface' 功能显然使用反射来生成代码,反射 API 中没有任何东西可以保证各种调用返回的成员的顺序。我们无法控制用于实现接口的反射顺序或 VS 代码生成器,因此我们无法更改其工作方式。
基本上唯一的选择是使用像 resharper 这样的 VS 扩展来替换实现接口功能。
在 VS2019 中,您可以在选项中更改它。
Tools -> Options -> Text Editor -> C# -> Advanced -> Implement interface or Abstract class
设置为at the end
.重启Visual Studio.
这似乎是按照与界面中相同的顺序添加功能。