Como: Determinar a que tipo uma variável de objeto se refere (Visual Basic)
Uma variável de objeto contém um ponteiro para dados armazenados em outro lugar. O tipo desses dados pode mudar durante o tempo de execução. A qualquer momento, você pode usar o GetTypeCode método para determinar o tipo de tempo de execução atual ou o operador TypeOf para descobrir se o tipo de tempo de execução atual é compatível com um tipo especificado.
Para determinar o tipo exato ao qual uma variável de objeto se refere atualmente
Na variável de objeto, chame o GetType método para recuperar um System.Type objeto.
Dim myObject As Object myObject.GetType()
System.Type Na classe, chame o método GetTypeCode compartilhado para recuperar o TypeCode valor de enumeração para o tipo do objeto.
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
Você pode testar o valor da enumeração em relação aos TypeCode membros da enumeração que forem de interesse, como
Double
.
Para determinar se o tipo de uma variável de objeto é compatível com um tipo especificado
Use o
TypeOf
operador em combinação com o operador Is para testar o objeto com umaTypeOf
expressão ...Is
.If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
A
TypeOf
expressão ...Is
retornaTrue
se o tipo de tempo de execução do objeto for compatível com o tipo especificado.O critério de compatibilidade depende se o tipo especificado é uma classe, estrutura ou interface. Em geral, os tipos são compatíveis se o objeto for do mesmo tipo que, herda ou implementa o tipo especificado. Para obter mais informações, consulte TypeOf Operator.
Compilar o código
Observe que o tipo especificado não pode ser uma variável ou expressão. Deve ser o nome de um tipo definido, como uma classe, estrutura ou interface. Isto inclui tipos intrínsecos como Integer
e String
.