ActivityCollection.GetEnumerator Método

Definição

Implementa uma interface de enumeração para o 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)

Devoluções

Um enumerador que pode iterar pela ReadOnlyCollectionBase instância.

Implementações

Observações

Os enumeradores só permitem a leitura dos dados na coleção. 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 recenseador de volta a esta posição. Nesta posição, chamar Current levanta uma exceção. Portanto, deve chamar MoveNext para avançar o enumerador até ao primeiro elemento da coleção antes de ler o valor de Current.

Current devolve o mesmo objeto até que qualquer MoveNext ou Reset seja chamado. MoveNext passa Current para o elemento seguinte.

Após o fim da coleção, o enumerador é posicionado após o último elemento da coleção, e chamando MoveNext devolve false. Se a última chamada for MoveNext retornada false, chamar Current levanta uma exceção.

Para definir Current novamente para o primeiro elemento da coleção, pode chamar Reset seguido de MoveNext.

Um enumerador mantém-se válido enquanto a coleção permanecer inalterada. Se forem feitas alterações à coleção, como adicionar, modificar ou eliminar elementos, o enumerador é irreversivelmente invalidado e a próxima chamada para MoveNext ou Reset gera um InvalidOperationException . Se a coleção for modificada entre MoveNext e Current, Current devolverá o elemento ao qual está definida, mesmo que o enumerador já esteja invalidado.

O enumerador não tem acesso exclusivo à coleção; Portanto, enumerar através de uma coleção não é intrinsecamente um procedimento seguro para threads. Mesmo quando uma coleção está sincronizada, outros threads ainda podem modificar a coleção. Isto faz com que o enumerador levante uma exceção. Para garantir a segurança dos threads durante a enumeração, pode bloquear a coleção durante toda a enumeração ou apanhar as exceções resultantes de alterações feitas por outros threads.

Aplica-se a