IDTSCustomPropertyCollection100.GetEnumerator Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un enumerador que puede iterar por IDTSCustomPropertyCollection100.
public:
System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Devoluciones
IEnumerator que puede iterar por la colección de propiedades personalizadas.
Implementaciones
- Atributos
Comentarios
Los enumeradores solo permiten leer los datos de la colección. No se pueden usar enumeradores para modificar la colección subyacente.
En principio, 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
produce 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 se devuelve false
la última llamada a MoveNext
, la llamada Current
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 irrecuperable y la siguiente llamada a MoveNext
o Reset
produce una InvalidOperationException
. Si la colección se modifica entre MoveNext
y Current
, Current
devuelve el elemento en el que se establece, 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 una colección está sincronizada, otros subprocesos todavía pueden modificarla, 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.