IDTSOutputColumnCollection100.GetEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
Restituisce
Oggetto IEnumerator usato per eseguire l'iterazione della raccolta.
Implementazioni
- Attributi
Commenti
Gli enumeratori consentono solo di leggere i dati nella raccolta. Gli enumeratori non possono essere usati per modificare la raccolta sottostante.
Inizialmente l'enumeratore è posizionato davanti al primo elemento della raccolta. Anche il metodo Reset
riporta l'enumeratore in questa posizione. In questa posizione, la chiamata Current
genera un'eccezione. Pertanto, è necessario chiamare il metodo MoveNext
per spostare in avanti l'enumeratore, in corrispondenza del primo elemento della raccolta, prima di leggere il valore di Current
.
Current
restituisce lo stesso oggetto finché non viene chiamato il metodo MoveNext
o Reset
. MoveNext
imposta Current
sull'elemento successivo.
Una volta raggiunta la fine della raccolta, l'enumeratore sarà posizionato dopo l'ultimo elemento, pertanto la chiamata al metodo MoveNext
restituisce false
. Se l'ultima chiamata a MoveNext
restituita false
viene Current
generata un'eccezione. Per impostare nuovamente la proprietà Current
sul primo elemento della raccolta, è possibile chiamare il metodo Reset
seguito da MoveNext
.
Un enumeratore rimane valido finché la raccolta rimane invariata. Se vengono apportate modifiche alla raccolta, ad esempio aggiungendo, modificando o eliminando elementi, l'enumeratore viene invalidato in modo irreversibile e la successiva chiamata al metodo MoveNext
o Reset
genera un oggetto InvalidOperationException
. Se la raccolta viene modificata tra MoveNext
e Current
, Current
restituisce l'elemento impostato su, anche se l'enumeratore è già invalidato.
L'enumeratore non dispone di accesso esclusivo alla raccolta. L'enumerazione di una raccolta non è quindi una procedura thread-safe. Anche se una raccolta è sincronizzata, è possibile che venga modificata da altri thread, con conseguente generazione di un'eccezione da parte dell'enumeratore. Per garantire la sicurezza dei thread durante l'enumerazione, è possibile bloccare la raccolta durante l'intera enumerazione o rilevare le eccezioni che derivano dalle modifiche apportate da altri thread.