欢迎你来到这里发表你的高见!参数传递的一些问题。

lingfeng_314 2003-10-15 02:53:45
向类模块中或者自己用VB编写的DLL中传递用户自定义类型的参数。我看过这方面的一些介绍,好像都不是很理想。
在参数比较多的时候,但是这类参数又是同一类的一些属性,我想把他们封装后,传递到需要处理的地方去一起处理。这样我个人觉得可能对一下接口的保留和扩展有比较理想的效果吧。我不知道这样的想法有没有多少意义。
希望大家都可以说说你们的高见,我想这个问题大家也会遇到吧。即使不遇到,你能够解决吗?让自己试试吧!

...全文
62 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
davidlv 2003-10-16
  • 打赏
  • 举报
回复
TO:lingfeng_314(凌风),variant类型是不太好,但可以应付所有情况,除非你设计时就知道传入的参数是什么类型,但一般情况下你总不会传上百个参数吧,我的MSN:yongliang_lv@msn.com 交流一下,也学习一下.
lingfeng_314 2003-10-16
  • 打赏
  • 举报
回复
好象在给类模块或者DLL传递数组的时候也不是那么容易传递吧,我记得我以前写过会存在一些问题,但我也记不得是什么问题了。
To: davidlv(断刀客) ,这种方式我也想过的。但是他的缺点是很明显的。当然最大缺点是耗资源多。不好释放,很容易出错。非常感谢你们!
lzywj998 2003-10-15
  • 打赏
  • 举报
回复
楼主所说的:“在参数比较多的时候,但是这类参数又是同一类的一些属性,我想把他们封装后,传递到需要处理的地方去一起处理。”,既然这类参数是同一类的属性,为何不作为数组参数传呢??
关于“Variant这个变量”,我觉得只有在数据量不太的情况下用才有意义,如果数据量很大那就没什么意义了。
yoki 2003-10-15
  • 打赏
  • 举报
回复
同意davidlv(断刀客) 的建议
knikcn 2003-10-15
  • 打赏
  • 举报
回复
想了一下感觉有点问题,我们给类传递多个参数(自定义类型的),与面向对象设计的思想好象有点问题,说不上来,不过我觉得尽量避免这种给类传递多了参数的方式,可以选择环循环的方式,一个一个处理。
knikcn 2003-10-15
  • 打赏
  • 举报
回复
可以尝试一下
zhangqs 2003-10-15
  • 打赏
  • 举报
回复
调用A(1,2,3,4),因为计算机不知1,2,3,4是数字还是字符还是其它,其实,只要你用了Variant这个变量,都会增加计算机的转换时间
crystal_heart 2003-10-15
  • 打赏
  • 举报
回复
我就从来不用"传递用户自定义类型的参数",该怎么样的参数就怎么样传递,为保留和扩展不如转用VC。
davidlv 2003-10-15
  • 打赏
  • 举报
回复
楼上,你说的转换时间是什么,调用A(1,2,3,4)后,在A这个函数中的V()这个变量是系统自动转换成一个数组的,成为a(0)=1,a(1)=2,a(2)=3,a(3)=4这样的,我只要使用这个变量V()就行了呀
zhangqs 2003-10-15
  • 打赏
  • 举报
回复
这种方法有长处也有短处,就是转换的时候要消耗额外的时间。
davidlv 2003-10-15
  • 打赏
  • 举报
回复
Public Function A(ParamArray v() As Variant) As String
end function

ParamArray关键字可以使变量v()接收任意个参数,并自动转成一个数组
如调用a(1,12,a,c4......)

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧