|
■No62508 (shu さん) に返信
回答ありがとうございます。
Newをしたときに自動的に、Newを実行したオブジェクトの情報が生成されたオブジェクトに渡されることはない。ということでしょうか。
となると以下のように、コンストラクタにMeを渡すという方法が一般的なのでしょうか?
Public Class 管理クラス
Private 管理オブジェクトリスト As New List(Of 被管理クラス)
Private プライベートな変数 As Integer = 0
Public Sub New()
For i = 0 To 10
'いちいちMeを引数として渡すのは違和感がある(?)
管理オブジェクトリスト.Add(New 被管理クラス(i, Me))
Next
End Sub
Public Sub インスタンスから呼ばれたいメソッド(ByVal _管理番号 As Integer)
MsgBox("" & _管理番号 & "番目のオブジェクトから呼び出されました。")
End Sub
End Class
Public Class 被管理クラス
Private 管理番号 As Integer
Private 管理者インスタンス As 管理クラス
Public Sub New(ByVal _管理番号 As Integer, ByVal _管理者インスタンス As 管理クラス)
管理番号 = _管理番号
'引数無しで呼び出せたら嬉しい。
管理者インスタンス = _管理者インスタンス
管理者インスタンス.インスタンスから呼ばれたいメソッド(管理番号)
End Sub
End Class
またしてもかなり無意味な例でごめんなさい;
|