IDTSOutputCollection100.GetEnumerator Método

Definição

Retorna um enumerador que pode iterar por uma IDTSOutputCollection100.

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

Retornos

IEnumerator

Retorna um IEnumerator usado para iterar sobre a coleção.

Implementações

Atributos

Comentários

Os enumeradores permitem somente a leitura dos dados na coleção. Enumeradores não podem ser usados para modificar a coleção subjacente.

Inicialmente, o enumerador é posicionado antes do primeiro elemento da coleção. Reset também traz o enumerador de volta para essa posição. Nesta posição, a chamada Current gera uma exceção. Por isso, você deve chamar MoveNext para avançar o enumerador até o primeiro elemento da coleção antes de ler o valor de Current.

Current retorna o mesmo objeto até MoveNext ou Reset ser chamado. MoveNext define Current como o próximo elemento.

Depois que o final da coleção é passado, o enumerador é posicionado após o último elemento na coleção e a chamada MoveNext retorna false . Se a última chamada para MoveNext retornada false , a chamada Current lançará uma exceção. Para definir Current como o primeiro elemento da coleção novamente, é possível chamar Reset seguido de MoveNext.

Um enumerador permanece válido desde que a coleção permaneça inalterada. Se forem feitas alterações na coleção, como adicionar, modificar ou excluir elementos, o enumerador será invalidado de forma irrecuperável e a próxima chamada para MoveNext ou Reset lançar um InvalidOperationException . Se a coleção for modificada entre MoveNext e Current , Current retornará o elemento ao qual ele está definido, mesmo que o enumerador já esteja invalidado.

O enumerador não tem acesso exclusivo à coleção; por isso, a enumeração por meio de uma coleção não é um procedimento thread-safe intrínseco. Mesmo quando uma coleção está sincronizada, outros threads ainda podem modificar a coleção, o que faz o enumerador lançar uma exceção. Para garantir thread-safe durante a enumeração, é possível bloquear a coleção durante toda a enumeração ou verificar as exceções resultantes das alterações feitas por outros threads.

Aplica-se a