Как работает ASP Classic FOR EACH loop
Хотелось бы узнать, как работает петля ASP Classic / VB6 FOR EACH. Я знаю, что в.NET вовлечены IEnumberable/IEnumerator, но как это делает VB6/ASP Classic?
Спасибо!
1 ответ
Это делает это очень похожим образом. Класс, который поддерживает foreach, имеет метод с DispID -4, который возвращает объект перечислителя, аналогичный реализации IEnumerator.
Если вы намереваетесь реализовать это в VB6, тогда, хотя это возможно, вам придется быть готовым прыгать через непросто сложные обручи, тем более что такие безумно сложные вещи теперь уже давно не продаются по дате. COM-эквивалент IEnumerator stole.IEnumVARIANT
одной особенностью, которая делает его несовместимым с простой реализацией в VB6, является то, что его Next
метод использует S_FALSE
HResult.
Если вы действительно, действительно хотите это сделать, тогда возьмите эту книгу: Advanced Visual Basic 6, если можете. Предупреждение с типичной точки зрения разработчиков VB6, термин "Advanced" на самом деле не оправдывает себя. "Безумно глубокий VB6" будет лучшим описанием.