我有一个类库,有几个名称空间只包含内部类型.
但是,在应用程序项目中使用类库时,名称空间显示在intellisense中,但当然它们是空的.在其他项目中使用intellisense时,有什么方法可以完全隐藏命名空间吗?
我也试图应用于EditorBrowsableAttribute
所有内部类,但我想做的是将其应用于命名空间,这当然是不可能的.
或者,如果我足够关心这个,我必须将类型移动到包含公共类型的命名空间中的唯一选择?
这取决于您引用类库的方式:
如果您的解决方案中包含类库项目并使用项目引用,您将始终通过Intellisense看到该空命名空间.
如果您正在引用类库的已编译dll,则只要它只包含内部成员,您就不会在intellisense中看到命名空间.
试试这个:
namespace ClassLibrary1 { namespace Internal { internal class InternalClass { public int internalStuff { get; set; } } } namespace Public { public class PublicClass { public int publicStuff { get; set; } } } }
如果您通过项目引用引用它,您将看到空命名空间.如果你引用它的dll,你就不会.
我之前遇到过这种情况并没有找到任何解决方案,只有在您的项目中可能有效或无效的解决方法.您可以使用嵌套的静态类,而不是定义命名空间?