Classe CachedDataItemEnumerator
Scorre un oggetto CachedDataItemCollection.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator
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 CachedDataItemEnumerator _
Implements IEnumerator(Of CachedDataItem), IDisposable, _
IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataItemEnumerator : IEnumerator<CachedDataItem>,
IDisposable, IEnumerator
Il tipo CachedDataItemEnumerator espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
Current | Ottiene l'oggetto CachedDataItem 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 CachedDataItem nell'oggetto CachedDataItemCollection. |
![]() |
Reset | Imposta la posizione iniziale dell'enumeratore, ovvero prima della prima occorrenza di CachedDataItem 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 CachedDataItemEnumerator. |
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.