在vb使用用户自定义类型时,如何把其中的UDT字段名称作为参数使用?

比如我定义了这样的一个数据类型:PublicTypeCDataRecordsNameAsStringiSNAsLongbUseAsBooleanEndType然后,在fu... 比如我定义了这样的一个数据类型:
Public Type CDataRecord
sName As String
iSN As Long
bUse As Boolean
End Type

然后,在function que() 中, 我把一个CDataRecord类型的变量c传进去,同时传入一个参数inputv, inputv的值可以是上述"sName","iSN"或"bUse",
函数的用途是根据输入的字段名称对变量c中的字段值进行处理,然后输出。
Function que(c As CDataRecord, inputv As String)
....
End Function

我的意思是:假定CDataRecord是通用的数据类型,也就是其字段名称是不固定的,也就是说,在我的函数que中,不可以使用
if inputv="sName" then
c.sName ...
elseif inputv="iSN" then
...
end if
也不能使用:
select case inputv
case "sName"
c.sName ...
case "iSN"
c.iSN ...
end select
这样的语句。

应当如何实现呢?
展开
 我来答
syx54
2012-09-05 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2745万
展开全部
你说的不能(不可以)使用是你自己规定,不要用选择还是指VB无法实现?
追问
是我自己规定不要这样用。

再补充一句,其实我是想,象在ADO记录集中那样,如果c是一个用户自定义数据类型CDataRecord 的实例,我希望以c("FieldName")的字段参数方式来访问c中的数据,而不是用固定的c.FieldName方式来访问。请问有什么好的办法呢?
追答
我理解了,你是希望直接用1个变量的值去代替另1个变量的名,这个以前在Foxbase里叫做宏代换,但是在VB里无法实现(至少我现在不知道如何实现).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式