Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VBScript中传递列表(在VB.net函数中返回)?_Vb.net_List_Vbscript_Vb.net 2010 - Fatal编程技术网

如何在VBScript中传递列表(在VB.net函数中返回)?

如何在VBScript中传递列表(在VB.net函数中返回)?,vb.net,list,vbscript,vb.net-2010,Vb.net,List,Vbscript,Vb.net 2010,我在VB.net中有一个返回字符串列表的系统函数(我已经调试了这个函数)。 现在我需要在VBScript中调用该系统函数。我怎样才能得到字符串列表 net系统功能 Public Function someList As List(Of String) Return List End Function VBScript: Dim results Set results = System.someList For Each result In results wscript.e

我在VB.net中有一个返回字符串列表的系统函数(我已经调试了这个函数)。 现在我需要在VBScript中调用该系统函数。我怎样才能得到字符串列表

net系统功能

Public Function someList As List(Of String)
    Return List
End Function
VBScript:

Dim results
Set results = System.someList

For Each result In results
    wscript.echo result
Next

问题是VBScript不理解泛型类(或者问题出在COM上),因此必须将列表转换为非泛型类,例如
ArrayList

在尝试使用VBScript中的C#库时,我遇到了同样的问题,我编写了一个简单的转换函数(用C#)来解决这个问题:

    public ArrayList toArrayList(IEnumerable collection)
    {
        var arrayList = new ArrayList();
        foreach (object element in collection)
        {
            arrayList.Add(element);
        }
        return arrayList;
    }

在这里可以找到我需要的更多帮助功能:

查看此链接嗨,谢谢你的回复。我有一些需要vbscript文件调用的系统函数。所有其他函数都可以称为successful。只有此函数才能返回无法调用的列表。所以我认为这个函数的返回类型可能会导致这个问题。我想知道我还能用列表作为返回类型吗?或者我需要将返回类型更改为ArrayList?或者您有什么建议吗?VBScript不能使用.Net API,除非.Net类公开COM接口(如
ArrayList
StringBuilder
)。此外,所有其他函数都通过函数名调用。我使用类似这样的东西:wscript.echo System.FunctionName。当我运行文件时,它会在弹出窗口中为我提供正确的值
WScript
是运行时环境(更具体地说是由解释器
WScript.exe
cscript.exe
)提供的一个内在对象。这一点不适用于.Net
系统
命名空间。