BreakpointTargetEnumerator Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает BreakpointTargetEnumerator для коллекции BreakpointTargets. Этот класс не наследуется.
public ref class BreakpointTargetEnumerator sealed : Microsoft::SqlServer::Dts::Runtime::DtsEnumerator
public sealed class BreakpointTargetEnumerator : Microsoft.SqlServer.Dts.Runtime.DtsEnumerator
type BreakpointTargetEnumerator = class
inherit DtsEnumerator
Public NotInheritable Class BreakpointTargetEnumerator
Inherits DtsEnumerator
- Наследование
Комментарии
С помощью перечислителей можно только считывать данные из коллекции. Перечислители нельзя использовать для изменения базовой коллекции.
Изначально перечислитель располагается перед первым элементом коллекции. Метод Reset
также возвращает перечислитель в эту позицию. В этой позиции вызов Current свойства вызывает исключение. Поэтому необходимо вызвать MoveNext
метод для перехода перечислителя к первому элементу коллекции перед чтением значения Current.
Current возвращает тот же объект, пока не будет вызван метод MoveNext
или Reset
. MoveNext
задает Current в качестве значения для следующего элемента.
По окончании перебора коллекции перечислитель помещается за последним элементом коллекции и при вызове метода MoveNext
возвращается значение false
. Если последний вызов возвращен MoveNext
, false
вызов Current вызывает исключение. Чтобы снова задать в качестве значения свойства Current первый элемент коллекции, можно последовательно вызвать методы Reset
иMoveNext
.
Перечислитель является допустимым до тех пор, пока коллекция остается неизменной. Если в коллекцию вносятся изменения, такие как добавление, изменение или удаление элементов, перечислитель становится недействительным и становится неустранимым; таким образом, следующий вызов MoveNext
или Reset
вызывает InvalidOperationException
. Однако, если коллекция изменяется между MoveNext
и Current, Current возвращает элемент, которому он задан, даже если перечислитель был недействительным.
Перечислитель не имеет монопольного доступа к коллекции; Таким образом, перечисление через коллекцию не является потокобезопасной процедурой. Даже если коллекция синхронизирована, другие потоки по-прежнему могут изменять коллекцию, что приводит к возникновению исключения перечислителем. Для обеспечения потокобезопасности при перечислении можно либо заблокировать коллекцию на все время перечисления, либо перехватывать исключения, возникающие в результате изменений, внесенных другими потоками.
Свойства
Current |
Возвращает текущий объект BreakpointTarget в коллекции. |
Методы
MoveNext() |
Перемещает перечислитель к следующему элементу коллекции. (Унаследовано от DtsEnumerator) |
Reset() |
Устанавливает перечислитель в его начальное положение, т. е. перед первым элементом коллекции. (Унаследовано от DtsEnumerator) |