我一直在搜寻,但似乎没有办法解决我的问题。这是问题所在:
我想存储“键”数组这是我的简单类:
Private pkeys_length As Integer
Private pkeys() As String
Public Property Get keys_length() As Integer
keys_length = pkeys_length
End Property
Public Property Let keys_length(arg As Integer)
pkeys_length = arg
End Property
Public Property Get Keys() As String
Keys = pkeys()
End Property
Public Property Let Keys(ByVal arg As String)
ReDim pkeys(0 To pkeys_length) As String
pkeys = arg
End Property
这是我要存储的内容:
Dim str_pkeys() As String
Dim pkey_count As Integer
pkey_count = CountPrimaryKeys(stbl)
'Store the keys of that table
ReDim str_pkeys(pkey_count) As String
keyset_1.keys_length = pkey_count
str_pkeys = FindPrimaryKeys(keyset_1.Table)
keyset_1.Keys = str_pkeys
就目前而言,它给出了错误,Compile Error: Type mismatch
我在存储数组时遇到了几个问题,我不确定我是否真的到了任何地方。这是我无法修复的唯一错误。我需要做的就是将字符串数组存储在类中。
有人熟悉该怎么做吗?
我认为您需要String()
在Get属性中使用,并ByVal
在Let中删除:
Private pkeys_length As Integer
Private pkeys() As String
Public Property Get keys_length() As Integer
keys_length = pkeys_length
End Property
Public Property Let keys_length(arg As Integer)
pkeys_length = arg
End Property
Public Property Get Keys() As String()
Keys = pkeys
End Property
Public Property Let Keys(arg() As String)
ReDim pkeys(0 To pkeys_length) As String
pkeys = arg
End Property
除了这个小的设计建议:您真的需要一个Set作为数组长度吗?为什么不将其包含在数组的集合中,而仅提供Get呢?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句