我有一个类库,其中有几个名称空间只包含内部类型。
但是,在应用程序项目中使用类库时,名称空间显示在intellisense中,但当然它们是空的。在其他项目中使用intellisense时,有什么方法可以完全隐藏名称空间吗?
我也尝试将EditorBrowsableAttribute
应用于所有内部类,但我想做的是将其应用于命名空间,这当然是不可能的。
或者,如果我对此有足够的关注,我必须将这些类型移动到包含公共类型的命名空间中吗?
答案 0 :(得分:51)
这取决于您引用类库的方式:
试试这个:
namespace ClassLibrary1
{
namespace Internal
{
internal class InternalClass
{
public int internalStuff { get; set; }
}
}
namespace Public
{
public class PublicClass
{
public int publicStuff { get; set; }
}
}
}
如果您通过项目引用引用它,您将看到空命名空间。如果你引用它的dll,你就不会。
答案 1 :(得分:7)
我之前遇到过这种情况并没有找到任何解决方案,只有在您的项目中可能有效或可能无效的解决方法。您可以使用嵌套的静态类而不是定义命名空间吗?