FreeBASIC マニュアルのトップに戻る

FreeBASIC This

目次→言語リファレンス→変数とデータ型→ユーザ定義型This←オリジナル・サイト

This 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


隠されたインスタンス・パラメタで、TypeClass の非静的メンバー関数に、渡されます。

構文:
this.fieldname
or
With this
.fieldname
End With

記述:
This は、Type または Class のインスタンスへの参照で、その型またはクラスのすべての非静的メンバー関数に(非表示の Byref parameter を介して)渡されます。
非静的メンバー関数は、Type または Class の本体の内部で宣言された手続きであり、Sub, Function, Constructor, Destructor, 代入 または Cast Operator, および Property 手続きを含みます。

This 追加パラメーターは、手続きが宣言されている TypeClass と同じデータ型を持ちます。 したがって、これを使うことは、非静的メンバー関数が呼び出されるインスタンス宣言名を参照することに相当します。

This パラメーターは、ちょうど他の変数のように使うことができます。つまり、同じ型のオブジェクトをとる手続きに、これを渡します。This は、他のメンバー手続きを呼んで、Operator . (Member access) などを使うメンバー・データにアクセスします。

ほとんどの場合、メンバー・アクセスに This を、明示的に使う必要はありません。
メンバー手続きは、名前で直接渡されるインスタンスの、他のメンバーを参照できます。This および Operator . (Member access) で修飾する必要はありません。
This を使ってメンバー名を修飾する必要があるのは、たとえばローカル変数またはパラメーターに対してその名前を複製するなどして、メンバーが隠されている場合だけです。
このような状況では、メンバー名を修飾することが、これらのマスクされたメンバー名を参照する唯一の方法です。

例:
Type sometype
    Declare Sub MyCall()
    value As Integer
End Type

Dim example As sometype

'' 要素試験に、0 を設定します
example.value = 0
Print example.value

example.MyCall()

'' 出力は、10 になります
Print example.value
Sleep
End 0

Sub sometype.MyCall()
    This.value = 10
End Sub



QBからの違い:

参照:
ユーザ定義型 に戻る

←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2023-07-09 02:30:02
日本語翻訳:WATANABE Makoto、原文著作者:TheOz

ホームページのトップに戻る

表示-非営利-継承