Get ステートメント
プロパティの値を取得するために使用する Get
プロパティ プロシージャを宣言します。
構文
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
指定項目
用語 | 定義 |
---|---|
attributelist |
任意。 「属性リスト」を参照してください。 |
accessmodifier |
このプロパティの Get および Set ステートメントのいずれかで、省略可能です。 次のいずれかの値を指定します。- Protected - Friend - Private - Protected Friend 「 Access levels in Visual Basic」を参照してください。 |
statements |
任意。 Get プロパティ プロシージャが呼び出されたときに実行される 1 つ以上のステートメント。 |
End Get |
必須です。 Get プロパティ プロシージャの定義を終了します。 |
Remarks
プロパティが WriteOnly
とマークされている場合を除き、すべてのプロパティには Get
プロパティ プロシージャが必要です。 Get
プロシージャは、プロパティの現在の値を返すために使用します。
Visual Basic では、式でプロパティの値が要求されると、プロパティの Get
プロシージャが自動的に呼び出されます。
プロパティ宣言の本体には、Property ステートメントと End Property
ステートメントの間に、プロパティの Get
と Set
のプロシージャのみを含めることができます。 これらのプロシージャ以外のものを格納することはできません。 特に、プロパティの現在の値を格納することはできません。 この値は、プロパティの外部に格納する必要があります。それをいずれかのプロパティ プロシージャの内部に格納した場合、他のプロパティ プロシージャからアクセスできなくなるためです。 通常の方法は、プロパティと同じレベルで宣言された Private 変数に値を格納することです。 Get
プロシージャは、適用先のプロパティの内部で定義する必要があります。
Get
ステートメントで accessmodifier
を使用しない限り、Get
プロシージャは既定で、それを含んでいるプロパティのアクセス レベルに設定されます。
ルール
混合アクセス レベル。 読み取り/書き込みプロパティを定義する場合は、必要に応じて、
Get
またはSet
のいずれかのプロシージャに対して異なるアクセス レベルを指定できますが、両方に対して指定することはできません。 この場合、プロシージャのアクセス レベルは、プロパティのアクセス レベルよりも制限されている必要があります。 たとえば、プロパティがFriend
として宣言されている場合は、Get
プロシージャを、Public
ではなくPrivate
として宣言できます。ReadOnly
プロパティを定義する場合、Get
プロシージャはプロパティ全体を表します。Get
に対して異なるアクセス レベルを宣言することはできません。それによって、プロパティに 2 つのアクセス レベルが設定されるためです。戻り値の型。 Property ステートメントでは、それによって返される値のデータ型を宣言できます。
Get
プロシージャでは、そのデータ型が自動的に返されます。 任意のデータ型や、列挙、構造体、クラス、またはインターフェイスの名前を指定できます。Property
ステートメントでreturntype
を指定していない場合、プロシージャによってObject
が返されます。
動作
プロシージャからの復帰。
Get
プロシージャから呼び出し元のコードに戻ると、そのプロパティ値を要求したステートメント内で実行が続行されます。Get
プロパティ プロシージャでは、Return ステートメントを使用するか、プロパティ名に戻り値を代入することによって、値を返すことができます。 詳細については、「Function ステートメント」の "戻り値" に関する記述を参照してください。Exit Property
およびReturn
ステートメントでは、プロパティ プロシージャがすぐに終了します。 任意の数のExit Property
およびReturn
ステートメントをプロシージャ内の任意の場所に記述でき、Exit Property
ステートメントとReturn
ステートメントを混在させることができます。戻り値。
Get
プロシージャから値を返すには、プロパティ名に値を代入するか、Return ステートメントに値を含めることができます。Return
ステートメントでは、Get
プロシージャに戻り値を代入すると同時に、プロシージャが終了します。プロパティ名に値を代入せずに、
Exit Property
を使用すると、Get
プロシージャからは、プロパティのデータ型の既定値が返されます。 詳細については、「Function ステートメント」の "戻り値" に関する記述を参照してください。次の例では、読み取り専用プロパティ
quoteForTheDay
で、プライベート変数quoteValue
に保持されている値を返すことができる 2 つの方法を示しています。Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
例
次の例では、Get
ステートメントを使用してプロパティの値を返しています。
Class propClass
' Define a private local variable to store the property value.
Private currentTime As String
' Define the read-only property.
Public ReadOnly Property DateAndTime() As String
Get
' The Get procedure is called automatically when the
' value of the property is retrieved.
currentTime = CStr(Now)
' Return the date and time As a string.
Return currentTime
End Get
End Property
End Class
関連項目
.NET