none
Property Get と Property Let について RRS feed

  • 質問

  • こんにちは!

     

    今VB6.0の解析をしているのですが、

    こちらのコードの内容がどうも理解できないので、

    どなたかお分かりになる方がいらっしゃったら、助言いただけないでしょうか?

     

    MSDNより調べた結果、

    「Property Let プロシージャは、プロパティの値を設定

    Property Get  プロシージャを使って プロパティの値を取得 」とあったのですが、

    どなたかもう少し分かりやすい事例を挙げていただけますか?

    よろしくお願いします。

     

    Public Property Get Loaded() As Boolean

           Loaded = ABC_bLoaded
    End Property

    Public Property Let Loaded(ByVal bLoaded As Boolean)

          ABC_bLoaded = bLoaded

    End Property

     

     

    2008年1月28日 2:17

回答

  •  

    クラスに「Loaded」というプロパティを作りたいということですね。

    で、そのプロパティの値をクラス内部で保持しておくための内部変数ABC_bLoadedを別途用意。

    外部からそのクラスのLoadedプロパティに値を格納しようとした時(~.Loaded = True など)に、Letが動作してABC_bLoadedへ代入、

    逆に外部からそのクラスのLoadedプロパティの値を参照しようとした時に、Getが動作してABC_bLoadedの値を外部に返す、

    という動作になると思います。

    VB2005であれば、

     

    Private ABC_bLoaded As Boolean
    Public Property Loaded() As Boolean
        Get
            Return ABC_bLoaded
        End Get
        Set(ByVal value As Boolean)
            ABC_bLoaded = value
        End Set
    End Property

     

    のような感じです。

    2008年1月28日 3:02

すべての返信

  •  

    クラスに「Loaded」というプロパティを作りたいということですね。

    で、そのプロパティの値をクラス内部で保持しておくための内部変数ABC_bLoadedを別途用意。

    外部からそのクラスのLoadedプロパティに値を格納しようとした時(~.Loaded = True など)に、Letが動作してABC_bLoadedへ代入、

    逆に外部からそのクラスのLoadedプロパティの値を参照しようとした時に、Getが動作してABC_bLoadedの値を外部に返す、

    という動作になると思います。

    VB2005であれば、

     

    Private ABC_bLoaded As Boolean
    Public Property Loaded() As Boolean
        Get
            Return ABC_bLoaded
        End Get
        Set(ByVal value As Boolean)
            ABC_bLoaded = value
        End Set
    End Property

     

    のような感じです。

    2008年1月28日 3:02
  • こんにちは。中川俊輔 です。

     

    さるべーじさん、大変参考になる回答ありがとうございます。

     

    ケーティさん、フォーラムのご利用ありがとうございます。

    その後いかがでしょうか?

    問題解決に大変有効な回答のようでしたので、さるべーじさんの回答へ回答済みチェックをつけさせていただきました。

     

    回答済みチェックが付くことにより、有用な情報を探している方が情報を見つけやすくなります。
    問題解決につながる回答があった場合は、なるべく回答済みボタンを押してチェックを付けてください。

    ケーティさんはチェックを解除することもできますので、ご確認ください。

     

    それでは!

     

    2008年2月5日 5:13