Это продолжение моего предыдущего вопроса , но вам не нужно читать его, чтобы понять тот.
Я разрабатываю интерфейс в .NET, который будет использоваться из приложений COM (в основном VB6, но возможен и Visual C ++ 6), и я хотел бы использовать типы Collection в качестве аргументов и типов возврата для методов в интерфейс.
Вопросы:
Что происходит со встроенными типами коллекций VB6 (массивами, коллекциями, словарями), когда они проходят взаимодействие? Моя текущая догадка такова:
- массивы ->
System.Array
- коллекций ->
Microsoft.VisualBasic.Collection
- словари ->
System.Collections.Hashtable
Это правильно?
- Какие интерфейсы мне следует использовать в качестве возвращаемых типов?
IEnumerable
, ICollection
, IList
, IDictionary
? Смогу ли я сделать For Each в VB6 для итерации по этим интерфейсам? Должен ли я использовать универсальные или неуниверсальные варианты интерфейсов?