某些C#构造不能在顶层使用。例如,不能在顶级定义方法。他们必须在一个班级内。
是否存在只能在顶级使用 的语言构造,而 不能嵌套在其他构造中?
答案 0 :(得分:2)
我只能想到全局属性,搜索形式语法here似乎可以证实这一点。
编译单元的 global_attributes (Attributes)允许指定目标程序集和模块的属性。
compilation_unit
中可能包含的所有其他内容也可以包含在namespace_body
中:
compilation_unit
: extern_alias_directive* using_directive* global_attributes? namespace_member_declaration*
;
namespace_declaration
: 'namespace' qualified_identifier namespace_body ';'?
;
namespace_body
: '{' extern_alias_directive* using_directive* namespace_member_declaration* '}'
;
namespace_member_declaration
: namespace_declaration
| type_declaration
;
(页面中语法的其他部分和所有叙述都已删除)