在VB里定义结构常量

前端之家收集整理的这篇文章主要介绍了在VB里定义结构常量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文是这个帖子讨论的小结,感谢chenjl1031Tiger_Zhao的指点。

话说,我的函数参数有将近十个,挨个赋值容易出错,而且看起来很乱,所以想定义成结构体,好维护一些。另外,我想给这个结构体赋缺省值。在函数里进一步判断,如果是缺省值,就不做事,如果不是,才做事。VB只能对变体类型用ismissing函数,所以,我用这个办法来模拟变通ismissing的效果。所以我想定义一个结构常量,用来给这个结构参数赋缺省值。比如:

但是,讨论下来,发现这还真是个难题。

首先,常数的数据类型可以是:Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String 或 Variant。常量不能是结构

其次,可选参数的数据类型;可以是 Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object 或 Variant。如果参数不是 Optional,则也可以是用户定义类型,或对象类型。也就是说,可选参数也不能是结构

chenjl1031帮助我弄清楚上面两点之后,我就准备放弃结构,改用类了。我是这么做的。我直接在类的initialize里初始化变量。函数中判断类参数如果是nothing,就new一个(就会自动调用initialize),函数结尾再set nothing.

之后无所不能的Tiger_Zhao又出了个特棒的主意,他就用结构,呵呵。看下面的代码

其实,用类也可以用全局的 Property Get 做初始化。作为 optional 参数,函数中检查参数是否为 nothing,是的话就用属性 cc 替代。不过的话,在 initialize 中自动是最正规的做法。

原文链接:https://www.f2er.com/vb/263220.html

猜你在找的VB相关文章