vbScript System.Collections.ArrayList对象不支持..列表添加



我在用CreateObject("System.Collections.ArrayList") 解决oList对象时遇到问题

我在vbscript 中得到的错误

"Microsoft VBScript运行时错误:对象不支持此属性或方法:"list.Add";

基于本教程,我知道您可以在vbscript中使用COM封装的.Net组件;那为什么不起作用呢?

附加信息:

当我在VS08中调试并将手表添加到列表中时,它显示Children could not be evaluated.

objNode.value的手表具有两个字符的字符串值。(这是预期行为)

Function ProcessXML(oXML) 
  STOP
  xPathExemptions= "//Exemption/@ExemptCodeWord"
  Dim xmlDoc : Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")
  xmlDoc.Async = False
  xmlDoc.loadXML(oXML)
 
  Dim colNodes 
  Set colNodes = xmlDoc.selectNodes(xPathExemptions)
  Dim oList
  Set oList = CreateObject("System.Collections.ArrayList")
  Dim objNode
  
  For Each objNode in colNodes
    oList.Add = objNode.value
  Next
  
  'ProcessExemptions = CStr(xmlDoc.selectNodes(xPathExemptions))
End Function 

如果你对我的vbscript有任何意见;请告诉我-刚开始学习,不知道最佳实践。

更改:

oList.Add = objNode.value

。。。至:

oList.Add objNode.value

(感谢@Ansgar的指导)

Call oList.Add(objNode.value)

这里有一个演示:

Option Explicit
Dim oList : Set oList = CreateObject("System.Collections.ArrayList")
oList.Add "Banana"
oList.Add "Apple"
oList.Add "Orange"
oList.Add "Grapes"
oList.Add "Plum"
oList.Sort
Dim oItem
For Each oItem In oList
    WScript.Echo oItem
Next

预期输出:

Apple
Banana
Grapes
Orange
Plum

您可以在Eric Lippert的资料性文章中找到更多关于VB和VBScript中使用括号的奇怪规则的信息。

最新更新