ActivityCollection.GetEnumerator Método

Definição

Implementa uma interface de enumeração no ICollection.

public:
 System::Collections::Generic::IEnumerator<System::Workflow::ComponentModel::Activity ^> ^ GetEnumerator();
public System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity> GetEnumerator();
override this.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
Public Function GetEnumerator () As IEnumerator(Of Activity)

Retornos

Um enumerador que pode iterar por meio da ReadOnlyCollectionBase instância.

Implementações

Comentários

Os enumeradores habilitam apenas a leitura dos dados na coleção. Você não pode usar enumeradores para modificar a coleção subjacente.

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

Current retorna o mesmo objeto até ou MoveNextReset é chamado. MoveNext define Current para 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 a ser MoveNext retornada false, a chamada Current gerará uma exceção.

Para definir Current como o primeiro elemento da coleção novamente, você pode chamar Reset seguido por MoveNext.

Um enumerador permanece válido enquanto a coleção permanecer inalterada. Se forem feitas alterações na coleção, como adicionar, modificar ou excluir elementos, o enumerador será invalidado irreversivelmente e a próxima chamada para MoveNext ou Reset gerará um InvalidOperationException . Se a coleção for modificada entre MoveNext e Current, Current retornará o elemento ao 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. Isso 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