Как создать коллекцию сценариев на C # - PullRequest
0 голосов
/ 07 апреля 2011

Мне нужно создать сборку .NET, которая видна как COM-объект через COM-взаимодействие, чтобы она могла предоставить коллекцию в программу VBScript или JScript.

Когда я использую простые коллекции, такие как ArrayList, они проходят через COM-взаимодействие и могут быть перебраны в VBScript с помощью такой программы:

Dim s, foo
Set foo = CreateObject("Whatever.Collection")
For Each s In foo
    WScript.Echo s
Next

Теперь, если вместо ArrayList я использую somethign на основе универсального класса коллекции, такого как List<string> или System.Collections.Specialized.StringCollection, это, похоже, не работает в VBScript. Я получаю ошибки в цикле For Each, например

Ошибка времени выполнения Microsoft VBScript: требуется объект:

Так что, похоже, есть какой-то волшебный соус, который мне здесь не хватает. Что нужно для того, чтобы коллекция .NET проходила через COM Interop и работала правильно в VBScript и JScript?

1 Ответ

1 голос
/ 07 апреля 2011

Я начал искать, есть ли решение для этого, так как я не думал, что это возможно. Похоже, у Рика Строля есть решение .

Редактировать : Вот еще одно решение для SO Какие есть альтернативы универсальным коллекциям для COM Interop?

...