JScript 允许使用 .apply() 之类的时髦功能,您可以通过名称调用方法,传递参数数组来调用方法。但是,这适用于 JScript (javascript) 对象,并且显然不适用于 COM 组件 - 但这是我正在寻找的功能。
有没有办法通过名称和来自 JScript 的动态参数调用 COM 对象方法?我什么也找不到。
谢谢!
JScript 允许使用 .apply() 之类的时髦功能,您可以通过名称调用方法,传递参数数组来调用方法。但是,这适用于 JScript (javascript) 对象,并且显然不适用于 COM 组件 - 但这是我正在寻找的功能。
有没有办法通过名称和来自 JScript 的动态参数调用 COM 对象方法?我什么也找不到。
谢谢!
动态构建您想要作为字符串调用的脚本,然后使用 eval() 调用它。例如eval("someObj.method()")
或eval(objName + "." + methodName + "(" + args.join(",") +")")
。
由于我使用的是 WSC(Windows 脚本组件),因此我制定了一种解决方法,即使用 XSL 生成包装脚本,转换输入 WSC(这是一个 XML 文件)。XSL 为每个方法生成一个带有 case 的 switch{} 语句,为每个方法提供正确数量的参数。
不完全是我所追求的,但我得到了更好的错误检查:)