BreakpointTargetEnumerator Classe
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.
Crea un oggetto BreakpointTargetEnumerator per la raccolta BreakpointTargets. La classe non può essere ereditata.
public ref class BreakpointTargetEnumerator sealed : Microsoft::SqlServer::Dts::Runtime::DtsEnumerator
public sealed class BreakpointTargetEnumerator : Microsoft.SqlServer.Dts.Runtime.DtsEnumerator
type BreakpointTargetEnumerator = class
inherit DtsEnumerator
Public NotInheritable Class BreakpointTargetEnumerator
Inherits DtsEnumerator
- Ereditarietà
Commenti
Gli enumeratori abilitano solo la lettura dei dati presenti nella raccolta. Non è possibile utilizzare enumeratori per modificare la raccolta sottostante.
Inizialmente l'enumeratore è posizionato davanti al primo elemento della raccolta. Il Reset
metodo riporta anche l'enumeratore a questa posizione. In questa posizione, la chiamata alla Current proprietà genera un'eccezione. Pertanto, è necessario chiamare MoveNext
il metodo per far avanzare l'enumeratore al 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 e diventa irrecuperabile; quindi la chiamata successiva a MoveNext
o Reset
genera un oggetto InvalidOperationException
. Tuttavia, se la raccolta viene modificata tra MoveNext
e Current, Current restituirà l'elemento su cui è impostato, anche se l'enumeratore è stato invalidato.
L'enumeratore non ha accesso esclusivo alla raccolta; pertanto, l'enumerazione tramite una raccolta non è una procedura thread-safe. Anche quando una raccolta è sincronizzata, altri thread potrebbero comunque modificare la raccolta, causando la 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.
Proprietà
Current |
Ottiene l'oggetto BreakpointTarget corrente nella raccolta. |
Metodi
MoveNext() |
Sposta l'enumeratore all'elemento successivo della raccolta. (Ereditato da DtsEnumerator) |
Reset() |
Imposta l'enumeratore sulla propria posizione iniziale, ovvero prima del primo elemento nella raccolta. (Ereditato da DtsEnumerator) |