IDTSOutputCollection100.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.
Restituisce un enumeratore in grado di scorrere un oggetto IDTSOutputCollection100.
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
Restituisce un IEnumerator utilizzato per scorrere l'insieme.
Implementazioni
- Attributi
Commenti
Gli enumeratori consentono solo la lettura dei dati nella raccolta. Non è possibile utilizzare enumeratori 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
restituisce false
, la chiamata Current
genera 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 l'aggiunta, la modifica o l'eliminazione di elementi, l'enumeratore viene invalidato in modo irreversibile e la chiamata successiva a MoveNext
o Reset
genera un'eccezione InvalidOperationException
. Se la raccolta viene modificata tra MoveNext
e Current
, Current
restituisce l'elemento su cui è impostato, 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 protezione dei thread durante l'enumerazione, è possibile bloccare la raccolta per l'intera enumerazione oppure intercettare le eccezioni determinate dalle modifiche apportate da altri thread.