我需要編寫一個.NET程序集,通過COM Interop將其作爲COM對象可見,以便它可以將集合提供給VBScript或JScript程序。如何在C#中編寫可編寫腳本的集合
當我使用簡單集合例如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 runtime error: Object required:
因此,它好像有某種魔力醬我的地方在這裏失蹤。通過COM Interop創建.NET集合並在VBScript和JScript中正確工作需要什麼?
另一種解決方案,據我知道泛型是不互操作支持。 – sarvesh 2011-04-07 04:06:25