ActivityCollection.GetEnumerator Método

Definición

Implementa una interfaz de enumeración en .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)

Devoluciones

Enumerador que puede recorrer en iteración la ReadOnlyCollectionBase instancia.

Implementaciones

Comentarios

Los enumeradores solo permiten leer los datos de la colección. No se pueden usar enumeradores para modificar la colección subyacente.

Para comenzar, el enumerador se coloca antes del primer elemento de la colección. Reset también devuelve el enumerador a esta posición. En esta posición, la llamada Current genera una excepción. Por lo tanto, debe llamar MoveNext a para avanzar el enumerador al primer elemento de la colección antes de leer el valor de Current.

Current devuelve el mismo objeto hasta MoveNext que se llama a o Reset . MoveNext establece Current en el elemento siguiente.

Después de pasar el final de la colección, el enumerador se coloca después del último elemento de la colección y la llamada a MoveNext devuelve false. Si se devuelve MoveNextla última llamada a false , la llamada Current genera una excepción.

Para volver a establecer Current en el primer elemento de la colección, puede llamar a Reset seguido de MoveNext.

Un enumerador sigue siendo válido siempre que la colección permanezca sin cambios. Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el enumerador se invalida irreversiblemente y la siguiente llamada a MoveNext o Reset genera un InvalidOperationException . Si la colección se modifica entre MoveNext y Current, Current devolverá el elemento en el que está establecido, incluso si el enumerador ya está invalidado.

El enumerador no tiene acceso exclusivo a la colección; por lo tanto, la enumeración a través de una colección no es intrínsecamente un procedimiento seguro para subprocesos. Incluso cuando se sincroniza una colección, otros subprocesos todavía podrían modificar la colección. Esto hace que el enumerador genere una excepción. Para garantizar la seguridad de los subprocesos durante la enumeración, puede bloquear la colección durante toda la enumeración o detectar las excepciones resultantes de los cambios realizados por otros subprocesos.

Se aplica a