IDTSOutputColumnCollection100.GetEnumerator Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает перечислитель, который служит для прохода по коллекции выходных столбцов.
public:
System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Возвращаемое значение
IEnumerator, используемый для итерации коллекции.
Реализации
- Атрибуты
Комментарии
Перечислители разрешают только чтение данных в коллекции. Перечислители нельзя использовать для изменения базовой коллекции.
Изначально перечислитель располагается перед первым элементом коллекции. Метод Reset
также переводит перечислитель в эту позицию. В этой позиции вызов Current
вызывает исключение. Поэтому необходимо вызвать метод MoveNext
, чтобы переместить перечислитель к первому элементу коллекции до считывания значения свойства Current
.
Current
возвращает тот же объект, пока не будет вызван метод MoveNext
или Reset
. MoveNext
задает Current
в качестве значения для следующего элемента.
По окончании перебора коллекции перечислитель помещается за последним элементом коллекции и при вызове метода MoveNext
возвращается значение false
. Если последний вызов MoveNext
возвращен, false
вызов Current
вызывает исключение. Чтобы снова задать в качестве значения свойства Current
первый элемент коллекции, можно последовательно вызвать методы Reset
иMoveNext
.
Перечислитель является допустимым до тех пор, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, перечислитель неустранимо недопустим и следующий вызов MoveNext
или Reset
вызывает исключение InvalidOperationException
. Если коллекция изменяется и MoveNext
Current
Current
возвращает заданный элемент, даже если перечислитель уже является недействительным.
У перечислителя нет эксклюзивного доступа к коллекции, поэтому перечисление коллекции не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки могут ее изменить, что приведет к тому, что перечислитель создаст исключение. Для обеспечения потокобезопасности при перечислении можно либо заблокировать коллекцию на все время перечисления, либо перехватывать исключения, возникающие в результате изменений, внесенных другими потоками.