0
我有一組屬性的同一類的對象的集合。我想創建一個較小的集合,它只包含具有特定屬性的特定值的對象,並且我希望能夠針對不同屬性多次調用子集,而無需製作大量子版本。將類屬性名稱傳遞給子集以搜索集合
下面是部分代碼是相關的問題:
Sub MAIN()
Dim SplitArr(1 to 2) As Variant
SplitArr(1) = Y 'where Y is the value you are looking for
GetSplit arr:=SplitArr, X:=?? 'where ?? is the property you are looking at"
End Sub
Sub GetSplit(ByRef arr(), X as ??) 'unsure what type X should be
Dim collSplit As Collection
Set collSplit = New Collection
For Each v In coll
If v.X = arr(1) Then
collSplit.Add v
End If
Next v
Set arr(2) = collSplit
End Sub
那麼會發生什麼是GetSplit搜索通過主收集,科爾,如果任何物體的存在有X屬性等於到Y它會將對象添加到collSplit集合中。最後arr(2)被設置爲collSplit。
我不知道該怎麼辦是將屬性名稱傳遞給子,所以任何幫助將不勝感激。
在此先感謝!
將 '變形' 工作,它將使數字和字符串。 –
@ScottCraner我假設Variant是sub的正確類型,但我不知道要在sub MAIN()中設置'??'等於什麼,或者我的符號可以在GetSplit中使用'vX',因爲X只會是一個變量,而不是對物業的引用 – JChristen