我们可以在命名空间中有.cs文件,但没有类吗?

时间:2010-07-20 23:16:50

标签: c# class

在C#程序集中,我们是否可以拥有一个文件,例如File1.cs,它与该程序集位于同一名称空间中,但它没有类? 例如,像这样:

namespace something.otherthing
{
  public enum E1
  { ..... }

  public enum E2
  { ...  }  
}

我认为这应该是错的?但我们可以在VB 6.0中做到这一点,但在C#中,每件事都应该是一个类。 我想确定一下。

5 个答案:

答案 0 :(得分:11)

是的,这是完全合法的C#代码。

你能不能亲自测试一下吗?

答案 1 :(得分:5)

文件名与名称空间无关。位于文件顶部的任何命名空间都是枚举所在的位置,因此,如果something.otherthing枚举可用于something.otherthing.E1。你可以在一个文件中有多个类,你可以在一个文件中有一个类的一部分,你可以在一个文件中没有类,你可以在文件中包含类的枚举等。文件只适合你,它们是不要意味着任何事情。

答案 2 :(得分:4)

是的,你可以这样做。

答案 3 :(得分:2)

您只能在课堂外宣布以下内容......

class,enum,delegate,interface或struct。

其他一切都必须在课堂上。

答案 4 :(得分:1)

命名空间可以包含Type个定义。 Type来自classstructenuminterfacedelegateType声明的定义。

如前所述,命名空间可以为空。