Compartir a través de


Valores de variables de objeto (Visual Basic)

Una variable del tipo de datos object puede hacer referencia a datos de cualquier tipo. El valor que almacena en una Object variable se mantiene en otra parte de la memoria, mientras que la propia variable contiene un puntero a los datos.

Funciones clasificadoras de objetos

Visual Basic proporciona funciones que devuelven información sobre lo que hace referencia una Object variable, como se muestra en la tabla siguiente.

Función Devuelve True si la variable Object hace referencia a
IsArray Matriz de valores, en lugar de un único valor
IsDate Un valor de tipo de datos date o una cadena que se puede interpretar como un valor de fecha y hora
IsDBNull Objeto de tipo DBNull, que representa los datos que faltan o no existen.
IsError Objeto de excepción, que se deriva de Exception
IsNothing Nada, es decir, no hay ningún objeto asignado actualmente a la variable.
IsNumeric Un número o una cadena que se puede interpretar como un número
IsReference Tipo de referencia (por ejemplo, una cadena, una matriz, un delegado o un tipo de clase)

Puede usar estas funciones para evitar enviar un valor no válido a una operación o procedimiento.

Operador TypeOf

También puede usar el operador TypeOf para determinar si una variable de objeto hace referencia actualmente a un tipo de datos específico. La expresión TypeOf...Is se evalúa como True si el tipo en tiempo de ejecución del operando se deriva o implementa el tipo especificado.

En el ejemplo siguiente se usa TypeOf en variables de objeto que hacen referencia a tipos de valor y referencia.

' 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")  

En el ejemplo anterior se escriben las líneas siguientes en la ventana Depurar :

num is Integer

num is Object

frm is Form

frm is Object

La variable num de objeto hace referencia a datos de tipo Integery frm hace referencia a un objeto de la clase Form.

Matrices de objetos

Puede declarar y usar una matriz de Object variables. Esto resulta útil cuando necesita controlar una variedad de tipos de datos y clases de objetos. Todos los elementos de una matriz deben tener el mismo tipo de datos declarado. Declarar este tipo de datos como Object permite almacenar objetos y instancias de clase junto con otros tipos de datos de la matriz.

Consulte también