親クラスからのみ表示およびインスタンス化できるネストされたクラスを作成したいと考えています。
しかし、親クラスのパブリック変数を介してネストされたクラスのインスタンスを使用できるようにしたいと考えています。
ネストされたクラスをプライベートにするか、ネストされたクラスのコンストラクターをプライベートにしようとしましたが、コンパイルされません。
これを .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