命名空间在.net中可以拥有的类数量是否有限制?

Hot*_*ter 14 .net c# vb.net asp.net

命名空间在.net中可以拥有的类数量是否有限制?还有什么是命名空间中应该有的类的推荐数量?

Phi*_*eck 27

"每个命名空间"没有指定的最大类数 - 命名空间实际上只是Type的全名的一部分,而不是CLR中的逻辑实体

建议的数字是有意义的:使用命名空间将逻辑上相关的类组合在一起.

我敢肯定,如果你有足够的类型,你可以运行编译器或运行时内存不足,但这是物理限制而不是规范 - 如果它们在同一命名空间中可能无关紧要.

请注意,正如Steven所指出的,您也可以在多个程序集中使用相同的命名空间.

  • 不要忘记,虽然每个程序集可以有最大数量的类型,但是单个命名空间可以分布在无限数量的程序集中,使得该命名空间中的类型数量几乎无限制. (2认同)

Ste*_*ven 24

我试了一下:我刚刚建造了一个包含1,000,000种类型的装配,没有任何问题.但是在5,000,000时,C#编译器内存不足:-).

  • +1使C#编译器内存不足.:O) (17认同)

Khe*_*ter 10

我确信这会被埋没,但是你可以在dll中拥有非常有限数量的类.这个消息来源

如果使用元数据标记在元数据表中标识类并且元数据标记是四字节数,则这意味着程序集可以包含的类的数量小于3个字节的最大数量(第一个字节是与元数据表类型的连接).3个字节的最大数字是2 ^ 24-1或16777215.

因此,.NET程序集可以包含的最大类(和类成员)是16777215.


Ode*_*ded 5

据我所知,没有这样的限制,就像你可以拥有的课程数量没有限制一样.

命名空间只是类的全名的一部分.