我现在想了解 ASP Classic / VB6 FOR EACH 循环是如何工作的。我知道有涉及.NET IEnumberable / IEnumerator,但VB6 / ASP Classic是如何做到的?
谢谢!
答案 0 :(得分:5)
它以非常相似的方式完成。支持foreach的类有一个DispID为-4的方法,它返回一个类似于IEnumerator实现的枚举器对象。
如果你打算在VB6中实现这一点,那么虽然有可能你必须准备跳过过于复杂的箍,特别是因为这些疯狂复杂的东西现在已经远远超过它的销售日期。与IEnumerator等效的COM是stole.IEnumVARIANT
,其中一个与VB6中的简单实现不兼容的特性是它的Next
方法使用S_FALSE
HResult。
如果你真的,真的想要这样做,那就拿这本书:Advanced Visual Basic 6如果可以的话。 警告从典型的VB6开发人员的角度来看,术语“高级”并不能真正做到这一点。 “疯狂的深度VB6”将是一个更好的描述。