Compartir a través de


Cómo: Determinar a qué tipo se refiere una variable de objeto (Visual Basic)

Una variable de objeto contiene un puntero a los datos almacenados en otro lugar. El tipo de esos datos puede cambiar durante el tiempo de ejecución. En cualquier momento, puede usar el método para determinar el GetTypeCode tipo de tiempo de ejecución actual o el operador TypeOf para averiguar si el tipo de tiempo de ejecución actual es compatible con un tipo especificado.

Para determinar el tipo exacto al que se refiere actualmente una variable de objeto

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

    Dim myObject As Object
    myObject.GetType()
    
  2. En la System.Type clase , llame al método GetTypeCode compartido para recuperar el TypeCode valor de enumeración 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 comparar el valor de enumeración TypeCode con los miembros de enumeración que sean de interés, como Double.

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

  • Use el TypeOf operador en combinación con el Operador Is para evaluar el objeto mediante 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 TypeOf expresión ...Is devuelve True si el tipo de tiempo de ejecución del objeto es compatible con el tipo especificado.

    El criterio de 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 de o implementa el tipo especificado. Para obtener más información, vea Operador TypeOf.

Compilación del código

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

Consulte también