对于方法,override
关键字和访问修饰符(public
,private
等)首选哪种排序?以下两个似乎都编译并执行相同的操作:
public override string ToString ()
{
return "access modifier first";
}
override public string ToString ()
{
return "override keyword first";
}
在Java中,关键字的顺序通常是强制执行的,因此这种灵活性似乎令人吃惊。显然,这种灵活性也适用于Java(static public void main (String [] args)
有效......)。
答案 0 :(得分:3)
ReSharper是VS的一个插件,它提供了几个编码助手,比如扩展自动完成,将访问修饰符放在第一位。这表明即使C#规范更灵活,大多数人都希望以这种方式看待它。
这很奇怪,因为要使用ReSharper的自动完成方法,您可以键入“覆盖”,然后IntelliSense会提供可覆盖方法的列表。然后,当您选择一个时,它会重新定义定义,因此访问修饰符是第一个。
答案 1 :(得分:0)
完全是偏好问题,但更常见public override string ToString()
。
答案 2 :(得分:0)
我从来不知道你可以先override
做public override
。考虑到Visual Studio自动填充到{{1}},我会坚持认为。
答案 3 :(得分:0)
没有任何区别。通常,访问修饰符被指定为函数定义中的第一个关键字。在VS中,它通常会为您重新排序关键字。