可能重复:
C#/ .NET中只有名称空间的类可见性?
我想要的是拥有一个只能在同一命名空间内的其他类访问的类,而不必将命名空间放在它自己的程序集中.
有没有理由在C#中这是不可能的?
编辑:我已经改变了一点问题,因为编译器告诉我这private是不允许的.谁能告诉我这个的原因?
这是不可能的.
您只能使用修饰符限制对包含类的程序集的访问internal.
你也可以限制访问类的单一类通过将类嵌套类.例如,如果您将类B作为A类中的私有嵌套类,则B只能由A访问.
我认为这两个选项是你能做的最好的选择.如果您确实要限制对命名空间的访问,则必须将其放在单独的程序集中.
编辑:第二个问题:为什么不允许私人课程.仅当私有类嵌套在另一个类中时才允许使用私有类.如果将非嵌套类设为私有,它的用途是什么?无论如何你都无法访问它,因此你无法使用它.