Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Syntax C语言中函数修饰符的顺序#_Syntax_C# 4.0 - Fatal编程技术网

Syntax C语言中函数修饰符的顺序#

Syntax C语言中函数修饰符的顺序#,syntax,c#-4.0,Syntax,C# 4.0,我想知道是否有一个标准来设置C#中函数修饰符的顺序。i、 e 这两种方法都很有效,但是 当我编写代码时: public void static Method() {} 我收到以下错误: 成员修饰符“static”必须在前面 成员类型和名称 及 方法必须具有返回类型 问题在于void不是修饰符,而是返回类型。所有修饰符都必须位于返回类型之前 我很肯定,对于真正的修饰语的排序有一个约定,但我不知道在哪里有记录 我总是先编写可访问性(public等)。方法声明必须始终遵循以下模式: [modifie

我想知道是否有一个标准来设置C#中函数修饰符的顺序。i、 e

这两种方法都很有效,但是

当我编写代码时:

public void static Method()
{}
我收到以下错误:

成员修饰符“static”必须在前面 成员类型和名称

方法必须具有返回类型


问题在于
void
不是修饰符,而是返回类型。所有修饰符都必须位于返回类型之前

我很肯定,对于真正的修饰语的排序有一个约定,但我不知道在哪里有记录


我总是先编写可访问性(public等)。

方法声明必须始终遵循以下模式:

[modifiers] returnType methodName([parameters])
没有关于修饰符顺序的规则,但它们必须始终位于返回类型之前

我不认为有任何标准的秩序,人们只是做他们喜欢的。。。就我个人而言,我更喜欢先放置访问修饰符(
public
private
等),然后是
静态
修饰符(如果有),然后是
虚拟
抽象
覆盖
修饰符(如果适用)


有关详细信息,请参见C规范(§10.6)

方法修饰符没有具体顺序

以下是C#标准规范中的形式语法

方法是使用方法声明声明的:
方法声明:
方法头方法体

方法标题:
attributesopt方法修饰符opt partialopt返回类型成员名称类型参数列表选项 (形式参数listopt)类型参数约束clausesopt

****方法修改器:***
新的
公共
受保护的
内部
私人
静态
虚拟的
密封的
覆盖
摘要
外部
返回类型:
类型
无效
成员名称:
标识符

接口类型。标识符

Good points Thomas,请提供任何其他自行创建的“修改器模式”?Thomas,请添加一个链接到“有关详细信息,请参见C#规范(§10.6)”。我已经下载了规范,但现在还没有找到。没有在线版本的规范,所以我无法发布直接链接。。。在规范的第3.0版中,§10.6在第295页,我谈到了这一点:同样,对于C#3.0的存在:在没有更正式的约定的情况下,我建议按照规范中列出的修饰符顺序进行<代码>新的公共保护内部私有静态虚拟密封覆盖抽象外部异步。我认为这与官方MSDN的例子是一致的
[modifiers] returnType methodName([parameters])