IDTSInputColumnCollection100.GetEnumerator Método

Definição

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

Um IEnumerator usado para iterar a coleção.

Implementações

Atributos

Comentários

Os enumeradores só permitem ler os 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. O reset também traz o enumerador de volta a essa posição. Nessa posição, chamar Corrente lança uma exceção. Portanto, você deve chamar o MoveNext para avançar o enumerador para o primeiro elemento da coleção antes de ler o valor de Current.

Corrente retorna o mesmo objeto até que MoveNext ou Reset sejam chamados. MoveNext define Current para o próximo elemento.

Após o fim da coleção, o enumerador é posicionado após o último elemento da coleção, e chamar MoveNextretorna false. Se a última chamada para o MoveNextretornou falsa, chamar o Current gera uma exceção. Para definir Current como o primeiro elemento da coleção novamente, você pode chamar Reset seguido de MoveNext.

Um enumerador permanece válido enquanto a coleção permanecer inalterada. Se alterações forem feitas na coleção, como adicionar, modificar ou excluir elementos, o enumerador é irremediavelmente invalidado e a próxima chamada para MoveNext ou Reset gera uma InvalidOperationException. Se a coleção for modificada entre MoveNext e Current, Current retorna o elemento para o qual está definida, mesmo que o enumerador já esteja invalidado.

O enumerador não tem acesso exclusivo à coleção; portanto, enumerar por meio de uma coleção não é intrinsecamente um procedimento thread-safe. Mesmo quando uma coleção é sincronizada, outros threads ainda podem modificar a coleção, o que faz com que o enumerador gere uma exceção. Para garantir a segurança do thread durante a enumeração, você pode bloquear a coleção durante toda a enumeração ou capturar as exceções resultantes de alterações feitas por outros threads.

Aplica-se a