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 Integer
y 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
- Variables de objeto
- Declaración de variables de objeto
- Asignación de variables de objeto
- Procedimiento para hacer referencia a la instancia actual de un objeto
- Procedimiento para determinar el tipo al que hace referencia una variable de objeto
- Procedimiento para determinar si dos objetos están relacionados
- Procedimiento para determinar si dos objetos son idénticos
- Tipo de datos