プロパティの値を取得するために使用 Get プロパティ プロシージャを宣言します。
構文
[ <attributelist> ] [ accessmodifier ] Get()
[ statements ]
End Get
部品
| 任期 | 定義 |
|---|---|
attributelist |
任意。 属性リストを参照してください。 |
accessmodifier |
このプロパティの Get ステートメントと Set ステートメントの 1 つ以上では省略可能です。 次のいずれかを指定できます。- 保護 - 友人 - プライベート - Protected FriendVisual Basic のアクセス レベルを参照してください。 |
statements |
任意。
Get プロパティ プロシージャが呼び出されたときに実行される 1 つ以上のステートメント。 |
End Get |
必須。
Get プロパティ プロシージャの定義を終了します。 |
注釈
プロパティがWriteOnlyマークされていない限り、すべてのプロパティにGetプロパティ プロシージャが必要です。
Get プロシージャは、プロパティの現在の値を返すために使用されます。
Visual Basic は、式がプロパティの値を要求したときに、プロパティの Get プロシージャを自動的に呼び出します。
プロパティ宣言の本文には、Property ステートメントと End Property ステートメントの間のプロパティのGetプロシージャとSet プロシージャのみを含めることができます。 これらのプロシージャ以外のプロシージャは格納できません。 特に、プロパティの現在の値を格納することはできません。 この値はプロパティの外部に格納する必要があります。これは、いずれかのプロパティ プロシージャ内に格納した場合、他のプロパティ プロシージャはプロパティ プロシージャにアクセスできないためです。 通常の方法では、プロパティと同じレベルで宣言された Private 変数に値を格納します。
Getプロシージャを適用するプロパティ内で定義する必要があります。
Get プロシージャは、Get ステートメントでaccessmodifierを使用しない限り、その包含プロパティのアクセス レベルに既定で設定されます。
準則
混合アクセス レベル。 読み取り/書き込みプロパティを定義する場合は、必要に応じて、
GetまたはSetプロシージャに別のアクセス レベルを指定できますが、両方を指定することはできません。 これを行う場合、プロシージャのアクセス レベルは、プロパティのアクセス レベルよりも制限が厳しい必要があります。 たとえば、プロパティがFriend宣言されている場合、GetプロシージャPrivate宣言できますが、Publicは宣言できません。ReadOnlyプロパティを定義する場合、Getプロシージャはプロパティ全体を表します。 プロパティに 2 つのアクセス レベルが設定されるため、Getに対して異なるアクセス レベルを宣言することはできません。戻り値の型。 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 PropertyReadOnly 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