【发布时间】:2014-12-15 03:27:48
【问题描述】:
C# 中的关键组织概念是程序、命名空间、类型、成员和程序集。 C# 程序由一个或多个源文件组成。程序声明类型,其中包含成员并且可以组织到命名空间中。类和接口是类型的示例。字段、方法、属性和事件是成员的示例。编译 C# 程序时,它们被物理打包到程序集中。程序集通常具有文件扩展名 .exe 或 .dll,具体取决于它们是实现应用程序还是库。
但他们从不解释什么是程序!程序是用于创建单个程序集的所有源文件的集合吗?或者一个程序可能由几个程序集组成?
这很重要,因为稍后“程序”用于定义其他概念,例如内部可访问性。
澄清一下:我问的是,在 C# 5.0 规范的上下文中,什么是“程序”?
【问题讨论】:
-
我读起来很清楚。
-
真的找不到比发布的更好的定义了。很明显,这些类型可以有多个程序集,通常是 exe 和 dll。
-
见 3.5.2 节说“如果声明的 T 的可访问性是内部的,则 T 的可访问域是 P 的程序文本。”它说“程序的程序文本定义为程序的所有源文件中包含的所有程序文本”,这是一个循环定义!但我猜一个程序必须是一个程序集,否则内部将与公共程序相同。对吗?
-
查看此链接 msdn.microsoft.com/en-us/library/7c5ka91b.aspx 将 internal 的定义更改为基于程序集,而不是程序。我猜微软意识到程序的概念太混乱了。
标签: c# programming-languages language-lawyer specifications