C#覆盖和访问修饰符关键字首选顺序

时间:2012-05-04 18:04:23

标签: c# keyword

对于方法,override关键字和访问修饰符(publicprivate等)首选哪种排序?以下两个似乎都编译并执行相同的操作:

    public override string ToString ()
    {
        return "access modifier first";
    }

    override public string ToString ()
    {
        return "override keyword first";
    }

在Java中,关键字的顺序通常是强制执行的,因此这种灵活性似乎令人吃惊。显然,这种灵活性也适用于Java(static public void main (String [] args)有效......)。

4 个答案:

答案 0 :(得分:3)

ReSharper是VS的一个插件,它提供了几个编码助手,比如扩展自动完成,将访问修饰符放在第一位。这表明即使C#规范更灵活,大多数人都希望以这种方式看待它。

这很奇怪,因为要使用ReSharper的自动完成方法,您可以键入“覆盖”,然后IntelliSense会提供可覆盖方法的列表。然后,当您选择一个时,它会重新定义定义,因此访问修饰符是第一个。

答案 1 :(得分:0)

完全是偏好问题,但更常见public override string ToString()

答案 2 :(得分:0)

我从来不知道你可以先overridepublic override。考虑到Visual Studio自动填充到{{1}},我会坚持认为。

答案 3 :(得分:0)

没有任何区别。通常,访问修饰符被指定为函数定义中的第一个关键字。在VS中,它通常会为您重新排序关键字。