检查/显示实体的声明类型(变量,表达式......)

时间:2012-11-04 16:35:27

标签: vba types vb6 vbscript

我正在调查VB中的类型,特别是在VBA中。通常,给定一个实体有两种类型:Effective value type,我猜,在this part of the specification中被定义为value types; Declared Type中定义了effective value type

要进行测试,我需要使用一些函数来检查类型。有this part of the specificationTypeName。我认为它们用于检查实体的TypeName,因为DBNull可以返回DecimalNothingVarType; vbNull可以返回vbEmptyvbErrorvbDecimaleffective value types。这些类型存在于declared type表中,但不存在于declared type表中。

现在,我的问题是,是否有人知道如何检查/显示实体的declared type(变量,表达式......)?

编辑1:对于变量,其declared type只是变量声明指定的类型。我想坚持认为,VBA似乎有Operator Declared Type表达式。例如,VarType中提到了declared type。我认为这是指操作结果的-i。这意味着i+5i>6declared type等实体可以拥有{{1}}。我想知道如何显示他们声明的类型。

1 个答案:

答案 0 :(得分:1)

如果,

Dim i as integer
i = 6/3

然后你做,TypeName(i>3) 它返回布尔,这是表达式的 Type ,它基于它所拥有的结果值的类型而不是操作数的声明类型。它符合msdn 2.2 Entities and Declared Types链接中给出的规范。

或者你在寻找可以将DType(i> 3)作为整数返回的语法/函数(例如DType,富有想象力的函数),这是操作数的(i)类型?或者更确切地说,当您在某个表达式中包含多个变量时,它会更有用,因此您可以一次性找到所有类型的变量? e.g。一些字符串,在一个表达中组合了各种不同的TYPE变量。

只是尝试了解何时以及如何对您有用以及您正在寻找的最终结果。似乎这更像是对lanague的根定义。

PS:我没有代表点评论。所以我添加了一个答案。