我有一个类库,它有几个只包含内部类型的命名空间。
但是,当在应用程序项目中使用类库时,命名空间会在智能感知中显示,但它们当然是空的。在其他项目中使用智能感知时,我有什么办法可以完全隐藏命名空间?
我也尝试将其应用于EditorBrowsableAttribute
所有内部类,但我想做的是将其应用于命名空间,这当然是不可能的。
或者,如果我足够关心这一点,唯一的选择是我必须将类型移动到包含公共类型的命名空间中?
我有一个类库,它有几个只包含内部类型的命名空间。
但是,当在应用程序项目中使用类库时,命名空间会在智能感知中显示,但它们当然是空的。在其他项目中使用智能感知时,我有什么办法可以完全隐藏命名空间?
我也尝试将其应用于EditorBrowsableAttribute
所有内部类,但我想做的是将其应用于命名空间,这当然是不可能的。
或者,如果我足够关心这一点,唯一的选择是我必须将类型移动到包含公共类型的命名空间中?
这取决于您如何引用您的类库:
试试这个:
namespace ClassLibrary1
{
namespace Internal
{
internal class InternalClass
{
public int internalStuff { get; set; }
}
}
namespace Public
{
public class PublicClass
{
public int publicStuff { get; set; }
}
}
}
如果您通过项目引用引用它,您将看到空的命名空间。如果您引用它的dll,则不会。
我以前遇到过这个问题,但没有找到解决方案,只有一种解决方法,它可能适用于您的项目,也可能不适用于您的项目。您可以使用嵌套的静态类来代替定义命名空间吗?