在C#程序集中,我们是否可以拥有一个文件,例如File1.cs,它与该程序集位于同一名称空间中,但它没有类? 例如,像这样:
namespace something.otherthing
{
public enum E1
{ ..... }
public enum E2
{ ... }
}
我认为这应该是错的?但我们可以在VB 6.0中做到这一点,但在C#中,每件事都应该是一个类。 我想确定一下。
答案 0 :(得分:11)
是的,这是完全合法的C#代码。
你能不能亲自测试一下吗?
答案 1 :(得分:5)
文件名与名称空间无关。位于文件顶部的任何命名空间都是枚举所在的位置,因此,如果something.otherthing
枚举可用于something.otherthing.E1
。你可以在一个文件中有多个类,你可以在一个文件中有一个类的一部分,你可以在一个文件中没有类,你可以在文件中包含类的枚举等。文件只适合你,它们是不要意味着任何事情。
答案 2 :(得分:4)
是的,你可以这样做。
答案 3 :(得分:2)
您只能在课堂外宣布以下内容......
class,enum,delegate,interface或struct。
其他一切都必须在课堂上。
答案 4 :(得分:1)
命名空间可以包含Type
个定义。 Type
来自class
,struct
和enum
。 interface
和delegate
是Type
声明的定义。
如前所述,命名空间可以为空。