次の方法で共有


オブジェクト変数の値

更新 : 2007 年 11 月

オブジェクト型 (Object) の変数は、任意の型のデータを参照できます。Object 変数に格納した値はメモリ内の他の場所に保持され、変数自体はデータへのポインタを保持します。

オブジェクト分類関数

Visual Basic には、Object 変数の参照先に関する情報を返す次の表のような関数が用意されています。

関数

オブジェクト変数の参照先 (一致する場合に True を返す)

IsArray 関数 (Visual Basic)

1 つの値ではなく、値の配列

IsDate 関数 (Visual Basic)

日付型 (Date) (Visual Basic) の値、または日付と時刻の値として解釈できる文字列

IsDBNull 関数

データが不足しているか存在しないことを表す DBNull 型のオブジェクト

IsError 関数

Exception から派生した例外オブジェクト

IsNothing 関数

変数に現在代入されているオブジェクトがないことを表す Nothing (Visual Basic)

IsNumeric 関数 (Visual Basic)

数値、または数値として解釈できる文字列

IsReference 関数

参照型 (文字列、配列、デリゲート、クラス型など)

これらの関数を使用すると、演算やプロシージャに無効な値が送られるのを防ぐことができます。

TypeOf 演算子

また、TypeOf 演算子 (Visual Basic) を使って、オブジェクト変数が現在特定のデータ型を参照しているかどうかを調べることもできます。TypeOf...Is 式の評価は、オペランドの実行時の型が、指定した型から派生している場合または指定した型を実装している場合に True になります。

次の例では、値型を参照しているオブジェクト変数と参照型を参照しているオブジェクト変数に対して TypeOf を使用しています。

' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")

上記の例では、以下の行がデバッグ ウィンドウに書き込まれます。

num is Integer

num is Object

frm is Form

frm is Object

オブジェクト変数 num が参照しているのは Integer 型のデータであり、frm が参照しているのは Form クラスのオブジェクトです。

オブジェクト配列

Object 変数の配列を宣言して使用することもできます。こうすると、さまざまなデータ型やオブジェクト クラスを扱う必要がある場合に便利です。配列のすべての要素には、同じデータ型が宣言されている必要があります。このデータ型を Object として宣言すると、その他のデータ型と共に、オブジェクトやクラス インスタンスも配列に格納できるようになります。

参照

処理手順

方法 : オブジェクトの現在のインスタンスを参照する

方法 : オブジェクト変数で参照している型を確認する

方法 : 2 つのオブジェクトが関連しているかどうかを決める

方法 : 2 つのオブジェクトが同一であるかどうか判別する

概念

Visual Basic におけるオブジェクト変数

オブジェクト変数の宣言

オブジェクト変数の代入

Visual Basic におけるデータ型

参照

Is (Visual Basic)