Compartir a través de


ActivityCollection.GetEnumerator Método

Definición

Implementa una interfaz de enumeración a 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

IEnumerator<Activity>

Enumerador que puede iterar por la instancia de ReadOnlyCollectionBase.

Implementaciones

Comentarios

Los enumeradores sólo habilitan la lectura de los datos de la colección. No puede usar enumeradores para modificar la colección subyacente.

Inicialmente, el enumerador se coloca delante del primer elemento de la colección. Reset también devuelve el enumerador a esta posición. En esta posición, la llamada a Current provoca una excepción. Por lo tanto, debe llamar a MoveNext para adelantar el enumerador hasta el primer elemento de la colección antes de leer el valor de Current.

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

Cuando se pasa el final de la colección, el enumerador se coloca detrás del último elemento de la colección y si se llama al método MoveNext devuelve false. Si la última llamada a MoveNext ha devuelto false y se realiza una llamada a la propiedad Current, se produce una excepción.

Para volver a establecer el valor de Current en el primer elemento de la colección, se puede llamar primero a Reset y después a MoveNext.

Un enumerador sigue siendo válido mientras la colección permanezca inalterada. Si se realizan cambios en la colección (como agregar, modificar o eliminar elementos), el enumerador queda invalidado de forma irreversible y la siguiente llamada a MoveNext o Reset provoca un InvalidOperationException. Si la colección se modifica entre MoveNext y Current, Current devolverá el elemento en el que está establecido, aunque el enumerador ya haya quedado invalidado.

El enumerador no tiene acceso exclusivo a la colección y, por tanto, la enumeración en una colección no es intrínsicamente un procedimiento seguro para subprocesos. Incluso cuando una colección está sincronizada, otros subprocesos podrían modificar la colección. Esto hace que el enumerador produzca una excepción. Con el fin de garantizar la seguridad para la ejecución de subprocesos durante la enumeración, se 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