如何在VB 6中检查对象的类型 - 是否有除'TypeName'以外的任何方法,因为它不可能检查它&'TypeName'我期待QuichWatch窗口之类的东西.
对于对象变量,请使用TypeOf ... Is
:
If TypeOf VarName Is TypeName Then
''# ...
End If
Run Code Online (Sandbox Code Playgroud)
例如:
Dim fso As New Scripting.FileSystemObject
If TypeOf fso Is Scripting.FileSystemObject Then
Debug.Print "Yay!"
End If
Run Code Online (Sandbox Code Playgroud)
只是添加到@ Tomalak的答案...如果对象变量尚未实例化,那么使用TypeOf进行测试将导致运行时错误.还要注意,该类可以实现接口,例如
Dim fs As Scripting.FileSystemObject
On Error Goto Err_Handler
If TypeOf fs Is Scripting.FileSystemObject Then
Debug.Print "[Won't get here]"
End If
Err_Handler:
If Err.Number <> 0 Then
Debug.Print "Oops, error when fs Is Nothing"
End If
On Error Resume Next
Set fs = New Scripting.FileSystemObject
If TypeOf fs Is Scripting.FileSystemObject Then
Debug.Print "Is a FileSystemObject"
End If
If TypeOf fs Is IFileSystem Then
Debug.Print "Implements IFileSystem "
End If
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3784 次 |
最近记录: |