Compartir a través de


Cómo: Determinar el tipo al que hace referencia una variable de objeto (Visual Basic)

Una variable de objeto contiene un puntero a datos que se almacenan en otra parte.El tipo de estos datos puede cambiar durante el tiempo de ejecución.En cualquier momento, puede utilizar el método GetTypeCode para determinar el tipo en tiempo de ejecución actual o TypeOf (Operador, Visual Basic) para averiguar si el tipo en tiempo de ejecución actual es compatible con un tipo especificado.

Para determinar el tipo exacto al que una variable de objeto hace referencia actualmente

  1. En la variable de objeto, llame al método GetType para recuperar un objeto System.Type.

    Dim myObject As Object
    myObject.GetType()
    
  2. En la clase System.Type, llame al método GetTypeCode compartido para recuperar el valor de enumeración TypeCode para el tipo del objeto.

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    Puede probar el valor de enumeración TypeCode con los miembros de enumeración que sean de su interés, como Double.

Para determinar si el tipo de una variable de objeto es compatible con un tipo especificado

  • Utilice al operador TypeOf en combinación con Is (Operador, Visual Basic) para probar el objeto con una expresión TypeOf...Is.

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    La expresión TypeOf...Is devuelve True si el tipo del objeto en tiempo de ejecución es compatible con el tipo especificado.

    El criterio para la compatibilidad depende de si el tipo especificado es una clase, estructura o interfaz.En general, los tipos son compatibles si el objeto es del mismo tipo que hereda o implementa el tipo especificado.Para obtener más información, vea TypeOf (Operador, Visual Basic).

Compilar el código

Observe que el tipo especificado no puede ser una variable o expresión.Debe ser el nombre de un tipo definido, como una clase, estructura o interfaz.Esto incluye los tipos intrínsecos como Integer y String.

Vea también

Referencia

Object (Tipo de datos)

GetType

System.Type

GetTypeCode

TypeCode

Conceptos

Variables de objeto en Visual Basic

Valores de las variables de objeto (Visual Basic)