C#内部访问修饰符

C#内部访问修饰符,c#,C#,我想在名称空间中密封一组类。我正在查看“内部”访问修饰符,但这似乎只密封了程序集中的类。我可以在名称空间中密封一组类吗 或者我必须把东西转移到一个单独的组件中?但是我会遇到visual studio拒绝循环程序集引用的问题。您仍然可以使用internal关键字,并通过AssemblyInfo.cs文件中的属性将内部类公开给另一个程序集。使用C#是不可能的 命名空间级成员只能是公共成员或内部成员 但是,您可以在C中使用嵌套类# 不,没有特定于命名空间的修饰符。一种选择是使用继承和“受保护”修饰符,

我想在名称空间中密封一组类。我正在查看“内部”访问修饰符,但这似乎只密封了程序集中的类。我可以在名称空间中密封一组类吗


或者我必须把东西转移到一个单独的组件中?但是我会遇到visual studio拒绝循环程序集引用的问题。

您仍然可以使用internal关键字,并通过AssemblyInfo.cs文件中的属性将内部类公开给另一个程序集。

使用C#是不可能的

命名空间级成员只能是
公共成员
内部成员

但是,您可以在C中使用嵌套类#


不,没有特定于命名空间的修饰符。一种选择是使用继承和“受保护”修饰符,但在基类上有一个内部构造函数,这样外部代码就不能将其子类化。这可能会有所帮助。

除了[InternalsVisibleTo]仍在程序集级别,而不是命名空间级别。这是真的。但据我所知,在名称空间级别没有这样做的方法?…毕竟,如果有一种方法限制名称空间,人们仍然能够在代码中定义相同的名称空间,并以这种方式继承。。。
namespace A {
    public class B {

        protected class C { }
    }

    public class D {

        void E() {
            var F = new A.B();    // ok!
            var G = new A.B.C();  // error!
        }
    }
}