這是從我的previous question後續,但你不需要閱讀它來理解那一個。我正在設計一個接口,將從COM應用程序(主要是VB6,但Visual C++ 6也是一種可能性)中使用,我想使用集合類型作爲參數和返回類型的方法在界面。我應該在.NET中使用哪個集合接口進行COM-interop?
問題:
發生了什麼VB6內置集合類型(數組,集合,詞典),當他們經過互操作?我目前的猜測是:
- 陣列 - >
System.Array
- 收藏 - >
Microsoft.VisualBasic.Collection
- 字典 - >
System.Collections.Hashtable
是正確的嗎?
- 陣列 - >
- 我應該使用哪種接口作爲返回類型?
IEnumerable
,ICollection
,IList
,IDictionary
?我能夠在VB6中對For Each進行遍歷這些接口嗎?我應該使用接口的通用變體還是非通用變體?
我的猜測是,VB的集合和字典會去通過COM互操作,並繼續擔任VB集合和字典,就像任何課程通過com互操作一樣。 – Brian 2010-06-04 17:09:02
您可能想查看http://stackoverflow.com/questions/7003844/why-is-it-that-arraylist-works-with-com-interop-but-ilistt-doesnt和http://stackoverflow.com/ question/269581/what-are-alternatives-generic-collections-for-com-interop – nawfal 2013-11-11 07:34:57