我想创建一个Dim Dict As New Dictionary(Of String, Object)
,它会将我的字符串指向特定的COM对象类,即Dict.Add("NODES",Visum.Net.Nodes)
我在字典中有大约20个键,每个键指向COM对象中的不同类。
基本上它可以工作,但我担心它非常沉重(20个大类的实例的dict)并且不是必要的 - 我将整个对象传递给dict,而我真的需要一种指针({{1 }})。
有更聪明的方法吗?
PS。为什么我这样做?因为我放在字典中的所有对象都有通用的方法。通过这种方式,我可以调用ie:ByRef
,然后调用Dict("Nodes").ItemByKey(13)
等。
提前致谢 拉法尔
答案 0 :(得分:2)
我认为你有一种误解。您已经传递和存储对象的引用。这就是VB.NET的工作方式。 (这也是VB6处理的对象,如果那是你的背景)。对象类型的ByVal
vs ByRef
参数不会创建对象的副本,它只是指示您调用的方法是否可以有效地将传递的对象换成另一个。
答案 1 :(得分:0)
看一下HybridDictionary:从MSDN:在集合很小的时候使用ListDictionary实现IDictionary,然后在集合变大时切换到Hashtable。
但是,没有随时可用的通用版本:Is there a generic version of the HybridDictionary?