Object Data Type

Contiene direcciones que hacen referencia a objetos . Puede asignar cualquier tipo de referencia (cadena, matriz, clase o interfaz) a una Object variable. Una Object variable también puede hacer referencia a datos de cualquier tipo de valor (numérico, Boolean , , , estructura o Char Date enumeración).

Comentarios

El Object tipo de datos puede apuntar a datos de cualquier tipo de datos, incluida cualquier instancia de objeto que la aplicación reconozca. Use cuando no sepa en tiempo de compilación a Object qué tipo de datos podría apuntar la variable.

El valor predeterminado de Object es Nothing (una referencia nula).

Tipo de datos

Puede asignar una variable, constante o expresión de cualquier tipo de datos a una Object variable. Para determinar el tipo de datos al Object que hace referencia actualmente una variable, puede usar el método de la clase GetTypeCode System.Type . Esto se ilustra en el siguiente ejemplo:

Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())

El Object tipo de datos es un tipo de referencia. Sin embargo, Visual Basic trata una variable como un tipo de valor cuando hace referencia Object a los datos de un tipo de valor.

Storage

Sea cual sea el tipo de datos al que haga referencia, una variable no contiene el propio valor de datos, sino un Object puntero al valor. Siempre usa cuatro bytes en la memoria del equipo, pero esto no incluye el almacenamiento de los datos que representan el valor de la variable. Debido al código que usa el puntero para localizar los datos, las variables que tienen tipos de valor son ligeramente más lentas de acceder que las Object variables con tipo explícito.

Sugerencias de programación

  • Consideraciones de interoperabilidad. Si está interfiriendo con componentes que no están escritos para el .NET Framework, por ejemplo, automation u objetos COM, tenga en cuenta que los tipos de puntero de otros entornos no son compatibles con el tipo Object Visual Basic.

  • Rendimiento. Una variable que se declara con Object el tipo es lo suficientemente flexible como para contener una referencia a cualquier objeto. Sin embargo, cuando se invoca un método o una propiedad en una variable de este tipo, siempre se incurre en un enlace en tiempo de ejecución (en tiempo de ejecución). Para forzar el enlace temprano (en tiempo de compilación) y mejorar el rendimiento, declare la variable con un nombre de clase específico o conéctela al tipo de datos específico.

    Al declarar una variable de objeto, intente usar un tipo de clase específico, por ejemplo , en OperatingSystem lugar del tipo Object generalizado. También debe usar la clase más específica disponible, como en lugar de , para que pueda acceder a TextBox Control sus propiedades y métodos. Normalmente puede usar la lista Clases del Explorador de objetos para buscar los nombres de clase disponibles.

  • Ampliación. Todos los tipos de datos y todos los tipos de referencia se amplían al Object tipo de datos . Esto significa que puede convertir cualquier tipo en Object sin encontrar un System.OverflowException error.

    Sin embargo, si convierte entre tipos de valor y , Visual Basic realiza operaciones Object denominadas conversión boxing y unboxing, lo que ralentiza la ejecución.

  • Escriba Caracteres. Object no tiene ningún carácter de tipo literal o carácter de tipo de identificador.

  • Tipo de Framework. El tipo correspondiente en el .NET Framework es la System.Object clase .

Ejemplo

En el ejemplo siguiente se muestra una Object variable que apunta a una instancia de objeto.

Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)

Consulta también