Condividi tramite


IDTSInputColumnCollection100.GetEnumerator Metodo

Definizione

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. Reimposta anche l'enumeratore torna a questa posizione. In questa posizione, la chiamata Current genera un'eccezione. Pertanto, è necessario chiamare MoveNext per avanzare l'enumeratore al primo elemento della raccolta prima di leggere il valore di Current.

L'oggetto corrente restituisce lo stesso oggetto finché non viene chiamato MoveNext o Reset . MoveNext imposta Current sull'elemento successivo.

Dopo aver passato la fine della raccolta, l'enumeratore viene posizionato dopo l'ultimo elemento della raccolta e la chiamata a MoveNext restituisce false. Se l'ultima chiamata a MoveNext ha restituito false, la chiamata a Current genera un'eccezione. Per impostare Di nuovo Current sul primo elemento della raccolta, è possibile chiamare Reset seguito da MoveNext.

Un enumeratore rimane valido finché la raccolta rimane invariata. Se le modifiche vengono apportate all'insieme, 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 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 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.

Si applica a