asp-classic - ASP Classic FOR EACH 循环是如何工作的

标签 asp-classic vb6 foreach enumerators

我现在想知道 ASP Classic/VB6 FOR EACH 循环是如何工作的。我知道 .NET 涉及 IEnumberable/IEnumerator,但 VB6/ASP Classic 是如何做到的?

谢谢!

最佳答案

它以非常相似的方式实现。支持 foreach 的类有一个 DispID 为 -4 的方法,它返回一个类似于 IEnumerator 实现的枚举器对象。

如果您打算在 VB6 中实现它,那么虽然您可能必须准备好跳过极其复杂的环节,尤其是因为这种异常复杂的东西现在已经过时了。与 IEnumerator 等效的 COM 是 stole.IEnumVARIANT,使其与 VB6 中的简单实现不兼容的一个特征是其 Next 方法使用 S_FALSE HResult.

如果您真的非常想这样做,那就买这本书吧:Advanced Visual Basic 6如果你可以的话。 警告 从典型的 VB6 开发人员的角度来看,术语“高级”并没有真正做到公正。 “非常深的 VB6”将是一个更好的描述。

关于asp-classic - ASP Classic FOR EACH 循环是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8488766/

相关文章:

iis - 在 Windows CE 中以 .html 扩展名在页面中呈现 ASP

vb6 - Windows 10 上的 VsFlex7 (vb6)

powershell - Powershell,在解析和切换目录名称字符串后重命名目录

c# - 迭代变量如何只读?

javascript - 为什么我不能将 `push` 作为 foreach 函数传递?

asp-classic - 经典 ASP 中的 500 Vs 500.100 错误

javascript - 如何使 .focus() 在单选按钮数组上工作?

mysql - 经典 ASP 网站的数据未正确写入 MySQL 5 数据库

.net - 从远程桌面中运行的应用程序,如何以编程方式获取已复制到客户端剪贴板的文件并将其保存到磁盘

.net - 需要有关调试 .net 应用程序中使用的 vb6 代码的帮助