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
En la variable de objeto, llame al método GetType para recuperar un objeto System.Type.
Dim myObject As Object myObject.GetType()
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.