真的希望有人可以指出我正确的方向,因为我已经没有头发了......
我正在VS 2010中使用VB.NET开发一个简单的SDK,我有一个继承另一个类(OuterClass
)的类(InnerClass
)。
InnerClass
中有明显的属性和方法可以从OuterClass
访问。
如何隐藏InnerClass
甚至存在的潜在最终用户。我不想隐藏内部类内部因为InnerClass
甚至存在......
无论我尝试什么,它总是在类查看器,调试器或编辑器中可见。
我尝试过常见的竞争者:
<DebuggerBrowsable(DebuggerBrowsableState.Never)> _
和
<ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never)> _
请有人甚至可以指出我正确的方向。我发现了一些东西,但它们都与C ++有关,它们只会让我感到困惑。
答案 0 :(得分:1)
如果来自InnerClass的OuterClass子类,则InnerClass必须至少与OuterClass一样可见。如果你真的想要隐藏InnerClass,那么你需要切换到“OuterClass使用InnerClass”架构而不是“OuterClass是一个InnerClass”架构。
答案 1 :(得分:0)
您可以使用接口和工厂方法解决此问题。
Public Interface IOuterClass
End Interface
Friend MustOverride InnerClass
End Class
Friend Class OuterClass
Implements IOuterClass
Inherits InnerClass
End Class
Public Class OuterClassFactory
Public Shared Function Create() as IOuterClass
Return New OuterClass()
End Function
End Class