Compartir a través de


Valores de las variables de objeto (Visual Basic)

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

Funciones clasificadoras de objeto

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 Objecto hace referencia a
IsArray Una matriz de valores, en lugar de un único valor
IsDate Un valor de tipo de datos de fecha o una cadena que se puede interpretar como un valor de tiempo
IsDBNull Un objeto de tipo DBNull, que representa los datos que faltan o no existen
IsError Un 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 Un tipo de referencia (por ejemplo, una cadena, una matriz, un delegado o un tipo de clase)

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

Operador TypeOf

También puedes 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 clase Form.

Matrices de objetos

Puedes declarar y usar una matriz de Object variables. Esto resulta útil cuando necesitas controlar una variedad de tipos de datos y clases de objeto. 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