加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在VB里定义结构常量

发布时间:2020-12-16 23:33:42 所属栏目:大数据 来源:网络整理
导读:本文是这个帖子讨论的小结,感谢 chenjl1031 和 Tiger_Zhao 的指点。 话说,我的函数参数有将近十个,挨个赋值容易出错,而且看起来很乱,所以想定义成结构体,好维护一些。另外,我想给这个结构体赋缺省值。在函数里进一步判断,如果是缺省值,就不做事,如

本文是这个帖子讨论的小结,感谢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 中自动是最正规的做法。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读