Язык

IDTSInputColumnCollection100.GetEnumerator Метод

Определение

Возвращает переписчик, который может проходить через IDTSInputColumnCollection100.

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 возвращает один и тот же объект, пока MoveNextReset не вызывается либо вызывается. MoveNext задает Current для следующего элемента.

После прохождения конца коллекции перечислитель размещается после последнего элемента в коллекции и возвращает вызов MoveNextfalse. Если последний вызов MoveNext возвращен false, вызов Current вызывает исключение. Чтобы снова задать Current для первого элемента коллекции, можно вызвать Reset после этого MoveNext.

Перечислитель остается допустимым, пока коллекция остается неизменной. Если изменения вносятся в коллекцию, например добавление, изменение или удаление элементов, перечислитель неустранимо недопустим, а следующий вызов MoveNext или вызов вызывает ResetисключениеInvalidOperationException. Если коллекция изменяется между MoveNext и CurrentCurrent возвращает элемент, которому он задан, даже если перечислитель уже недопустим.

Перечислитель не имеет монопольного доступа к коллекции; Таким образом, перечисление через коллекцию по сути не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменять коллекцию, что приводит к возникновению исключения перечислителем. Чтобы гарантировать безопасность потоков во время перечисления, можно заблокировать коллекцию во время всего перечисления или поймать исключения, полученные из изменений, внесенных другими потоками.

Применяется к