VB6检查变量是否为对象

时间:2011-11-18 15:48:59

标签: function vb6 parameters

在Visual Basic 6中,无论如何都要告诉传入函数的变量是否是对象? 我希望能够测试变量是否为null,无或空,但只能使用“Is Nothing”测试对象。 有什么想法吗?

4 个答案:

答案 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文件夹中的邮件项目都是ObjectOutlook.MailItem类型,因此您可以通过这种方式对通用Variant变量进行实际的类型安全检查。

请注意,If TypeOf ... 对于键入为简单值的变量(即整数)不起作用,仅对于对象类型变量(Variant,COM对象,内置对象)。

答案 3 :(得分:0)

对于Variant参数,您还可以使用VarType()函数及其关联的Enum。