0

我想创建一个Dim Dict As New Dictionary(Of String, Object)将我的字符串指向特定 COM 对象类的方法,即Dict.Add("NODES",Visum.Net.Nodes) 我在字典中有大约 20 个键,每个键都指向 COM 对象中的不同类。

基本上它可以工作,但我担心它很重(大类的 20 个实例的字典)并且不是必需的 - 我将整个对象传递给字典,而我真的只需要一种指针(ByRef)。

有没有更聪明的方法呢?

PS。我为什么这样做?因为我放入字典中的所有对象都有通用方法。这样我就可以调用 ie : Dict("Nodes").ItemByKey(13),然后Dict("Links").ItemByKey(13),等等。

提前感谢拉法尔

4

2 回答 2

2

我认为你有一个误解。您已经在传递和存储对您的对象的引用。这就是 VB.NET 的工作方式。(它也是 VB6 处理的对象,如果那是你的背景)。 ByVal具有对象类型的vsByRef参数不会创建对象的副本,它只是指示您调用的方法是否可以有效地将传递的对象换成另一个对象。

于 2013-03-20T12:56:18.997 回答
0

查看 HybridDictionary:来自 MSDN:在集合较小时使用 ListDictionary 实现 IDictionary,然后在集合变大时切换到 Hashtable。

但是,没有现成的通用版本:HybridDictionary 有通用版本吗?

于 2013-03-20T12:49:37.670 回答