Classe CachedDataHostItemEnumerator
Scorre un oggetto CachedDataHostItemCollection.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataHostItemEnumerator
Spazio dei nomi: Microsoft.VisualStudio.Tools.Applications
Assembly: Microsoft.VisualStudio.Tools.Applications.ServerDocument (in Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Sintassi
'Dichiarazione
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataHostItemEnumerator _
Implements IEnumerator(Of CachedDataHostItem), IDisposable, _
IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataHostItemEnumerator : IEnumerator<CachedDataHostItem>,
IDisposable, IEnumerator
Il tipo CachedDataHostItemEnumerator espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
Current | Ottiene l'oggetto CachedDataHostItem in corrispondenza della posizione corrente dell'enumeratore. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
Equals | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
MoveNext | Consente di spostare l'enumeratore alla successiva occorrenza di CachedDataHostItem nell'oggetto CachedDataHostItemCollection. | |
Reset | Imposta la posizione iniziale dell'enumeratore, ovvero prima della prima occorrenza di CachedDataHostItem nell'insieme. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Implementazioni esplicite dell'interfaccia
Nome | Descrizione | |
---|---|---|
IEnumerator.Current | Per una descrizione di questo membro, vedere Current. | |
IDisposable.Dispose | Rilascia tutte le risorse utilizzate dall'oggetto CachedDataHostItemEnumerator. |
In alto
Note
In Visual Basic e C# è disponibile un'istruzione che consente di nascondere la complessità degli enumeratori (foreach in C# e For Each in Visual Basic). Utilizzare l'istruzione appropriata per il linguaggio in uso, anziché modificare direttamente l'enumeratore.
È possibile utilizzare enumeratori per leggere i dati nell'insieme, ma non per modificare l'insieme sottostante.
Inizialmente, l'enumeratore è posizionato prima del primo elemento nell'insieme. Il metodo Reset riporta inoltre l'enumeratore in questa posizione. In tale posizione, l'impostazione della proprietà Current genera un'eccezione. Pertanto, prima di leggere il valore della proprietà Current, è necessario chiamare il metodo MoveNext per spostare in avanti l'enumeratore in corrispondenza del primo elemento dell'insieme.
Current restituisce lo stesso oggetto fino alla chiamata di MoveNext o Reset. MoveNext imposta Current sull'elemento successivo.
Se il metodo MoveNext raggiunge la fine dell'insieme, l'enumeratore viene posizionato dopo l'ultimo elemento dell'insieme e il metodo MoveNext restituisce false. Quando l'enumeratore si trova in questa posizione, anche le successive chiamate al metodo MoveNext restituiscono false. Se il valore restituito dall'ultima chiamata al metodo MoveNext è false, chiamando Current verrà generata un'eccezione. Per impostare nuovamente Current sul primo elemento dell'insieme, è possibile chiamare Reset, quindi MoveNext.
Un enumeratore rimane valido se non vengono apportate modifiche all'insieme. Se l'insieme viene modificato, ad esempio aggiungendo, modificando o eliminando elementi, l'enumeratore verrà irrimediabilmente invalidato e la chiamata successiva a MoveNext o Reset genererà un oggetto InvalidOperationException. Se l'insieme viene modificato tra MoveNext e Current, Current restituirà l'elemento su cui è impostato, anche se l'enumeratore è ancora invalidato.
L'enumeratore non dispone di accesso esclusivo all'insieme, pertanto il processo di enumerazione di un insieme non è di per sé thread-safe. Anche se un insieme è sincronizzato, è possibile che venga modificato da altri thread, con conseguente generazione di un'eccezione da parte dell'enumeratore. Per garantire la thread safety durante l'enumerazione, è possibile bloccare l'insieme per l'intera enumerazione oppure intercettare le eccezioni determinate dalle modifiche apportate da altri thread.
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.