我想创建一个嵌套类,它只能对父类可见并从父类实例化。
但我也希望能够通过父类的公共变量来使用嵌套类的实例。
我尝试将嵌套类设为私有,或将嵌套类的构造函数设为私有,但它不会编译。
是否可以在 .NET 中执行此操作?
这可以编译并且可以工作,但是任何人都可以使用嵌套类:
Public Class OuterClass
Public X As Integer = 123
Public NestedClassInstance As New NestedClass(Me)
Public Class NestedClass
Private Parent As OuterClass
Public Sub New(ByVal _Parent As OuterClass)
Parent = _Parent
End Sub
Public Sub GetParentX()
Debug.WriteLine("X = " & Parent.X.ToString)
End Sub
End Class
End Class
Sub Main()
Dim OuterClassInstance As New OuterClass
OuterClassInstance.NestedClassInstance.GetParentX()
End Sub