Compartir a través de


Model3DCollection.GetEnumerator Método

Definición

Devuelve un enumerador que puede recorrer en iteración la colección.

public:
 System::Windows::Media::Media3D::Model3DCollection::Enumerator GetEnumerator();
public System.Windows.Media.Media3D.Model3DCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.Media3D.Model3DCollection.Enumerator
Public Function GetEnumerator () As Model3DCollection.Enumerator

Devoluciones

Model3DCollection.Enumerator

Devuelve un tipo de datos Enumerator que puede iterar por la colección.

Comentarios

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

Inicialmente, el enumerador se coloca antes del primer elemento de la colección. En esta posición, la llamada Current produce 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 que se llama a MoveNext o Reset . MoveNext establece Current en el siguiente elemento.

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 la última llamada a MoveNext devolvió false, al llamar a Current se produce una excepción. Para establecer Current en el primer elemento de la colección de nuevo, puede llamar a Reset seguido de 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 se invalida irrecuperablemente y la siguiente llamada a MoveNext o Reset produce una 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 y, por tanto, la enumeración en una colección no es intrínsicamente un procedimiento seguro para subprocesos. Incluso cuando se sincroniza una colección, otros subprocesos todavía podrían modificar la colección, lo que 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