隐藏类库中仅包含内部types的名称空间?

我有一个类库,有几个只包含内部types的命名空间。

但是,在应用程序项目中使用类库时,名称空间显示为intellisense,但当然是空的。 在其他项目中使用intellisense时,是否有任何方法可以完全隐藏命名空间?

我试图将EditorBrowsableAttribute应用于所有内部类,但是我想要做的是将其应用于命名空间,这当然是不可能的。

或者,如果我足够关心这一点,唯一的select,我只是将types移动到一个名称空间,包含公共types?

这取决于你如何引用你的类库:

  • 如果您的解决scheme中包含类库项目并使用项目引用,则通过Intellisense总是可以看到空的名称空间。
  • 如果你引用了你的类库的一个编译后的dll,你将不会看到在intellisense中popup的命名空间,只要它只包含内部成员。

尝试这个:

 namespace ClassLibrary1 { namespace Internal { internal class InternalClass { public int internalStuff { get; set; } } } namespace Public { public class PublicClass { public int publicStuff { get; set; } } } } 

如果你通过一个项目引用来引用它,你会看到空的名字空间。 如果你参考一个DLL,你不会。

我以前遇到过这种情况,并没有find解决办法,只有一个解决方法,可能会或可能不会在您的项目中工作。 而不是定义一个命名空间,你可以使用嵌套的静态类?