所有人,
我有一个VB6项目,大约有100个海关收集班,我想改为VB。 净额。 一个典型的例子就是这样。
Class CAccounts
Private m_Accounts As New Collection
Public Sub Add(newItem As CAccount)
m_Accounts.Add newItem, newItem.IdKey
End Sub
Public Sub Remove(index As Variant)
m_Accounts.Remove index
End Sub
Public Function Item(index As Variant) As CAccount
Set Item = Nothing
On Error Resume Next
Set Item = m_Accounts.Item(index)
End Function
.........
储存的物品
Class CAccount
Public Id as long
Public Code as String
Public Name as string
Public Sub Init(ByVal Id as Long)
Me.Id = Id
Code = ""
Name = ""
End Sub
Public Property Get IdKey() as String
IdKey = Code
End Property
......
该项目的所有收集课程都采用这一标准方法。 然而,并非实际使用所有收集类别的财产/方法。 大部分收集都用于“每个”休息室。 使用强硬钥匙的关键准入非常常见。 按指数分列的关键接入率远不太常见。
理想的情况是,我要采取标准做法来改变这些阶层。 我并不真的要审查每项收集工作,而是考虑我是否需要清单、理论等。 其中一些藏有10万件物品,有些只藏10件。 然而,另一方面,我不想通过采用一种更为简单的办法来造成业绩问题的结构。
I d appreciate any advice on the best approach. I ve considered the following.
采用老式收集方法。 因此,改用VB相对比较容易。 但是,我转而转向更现代的结构。
拥有Caccounts Inherit KeyedCollection(Of String, CAccount)。 幸运的是,收藏品中的大部分课堂都作为课堂的一部分具有关键意义(例如,Caccount)。 页: 1 这似乎行之有效。 然而,相对较少的班级将用数字指数获得col。 因此,如果我只想用强硬的钥匙获得关键准入,这或许是多余的?
在我不需要数字指数的班级上,有Caccounts Inherit Dictionary(Of String, CAccount)。 我面临的问题是,所有现有的“每个”住所都像“每个账户”一样。 我不想把所有这些发生变成像“每个账户”。 价值”。 尽管我也许可以通过改变违约财产来抓紧?
• 了解我的博爱是我自己收集的Inherit MyCollection(Of String, CAccount)。 这似乎过于艰巨。
我倾向于选择2,使一切都成为关键的孔隙。 然后根据要求作出例外规定(例如非独特钥匙)。 然而,如果关键专业的学习速度要慢得多,那么,我可能将Dictionary作为标准,并公正使用关键专业,而我需要获得数字指数。
所有建议都受到赞赏。