C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 105 を表示中)
■62509 / )  Re[2]: 自分のインスタンスを保持しているオブジェクトを取得
□投稿者/ ひらまる (2回)-(2011/10/15(Sat) 21:11:06)
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

またしてもかなり無意味な例でごめんなさい;

返信 編集キー/


管理者用

- Child Tree -