在Visual Basic 6中,无论如何都要告诉传入函数的变量是否是对象? 我希望能够测试变量是否为null,无或空,但只能使用“Is Nothing”测试对象。 有什么想法吗?
答案 0 :(得分:6)
如何定义函数?
如果是... As Object
,则它是有效对象或Null
。
如果它是... As Variant
(或没有类型),则可以传递任何内容,您可以使用IsEmpty()
,IsNull()
进行检查(注意,不是空对象,而是空值)或IsObject()
取决于您在... Is Nothing
检查之前要检查的确切内容。
如果参数为Optional
,那么您可以使用IsMissing()
,但它必须是没有默认值的变体类型。
另外,请查看this article关于VB中Null的各种用法。
答案 1 :(得分:4)
IsObject(variable)
不难发现
答案 2 :(得分:1)
VB中有一个TypeOf
运算符。所有不是简单值的东西(即整数等)都是Object
类型。
If TypeOf Variable Is Object Then
' ...
End If
TypeOf还允许继承检查。例如,Outlook文件夹中的邮件项目都是Object
和Outlook.MailItem
类型,因此您可以通过这种方式对通用Variant变量进行实际的类型安全检查。
请注意,If TypeOf ...
对于键入为简单值的变量(即整数)不起作用,仅对于对象类型变量(Variant,COM对象,内置对象)。
答案 3 :(得分:0)
对于Variant参数,您还可以使用VarType()函数及其关联的Enum。