3

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)工作......)。

4

4 回答 4

3

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

这很奇怪,因为要对方法使用 ReSharper 的自动完成功能,您需要输入“覆盖”,然后 IntelliSense 会给出可覆盖方法的列表。然后,当您选择一个时,它会重组定义,因此访问修饰符是第一位的。

于 2012-05-04T18:07:18.390 回答
0

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

于 2012-05-04T18:06:00.017 回答
0

我什至不知道你可以先做override。考虑到 Visual Studio 会自动完成public override,我会说坚持下去。

于 2012-05-04T18:06:29.420 回答
0

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

于 2012-05-04T18:07:30.813 回答