Klasa CachedDataItemEnumerator
Iterowanie poprzez CachedDataItemCollection.
Hierarchia dziedziczenia
System.Object
Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator
Przestrzeń nazw: Microsoft.VisualStudio.Tools.Applications
Zestaw: Microsoft.VisualStudio.Tools.Applications.ServerDocument (w Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)
Składnia
'Deklaracja
<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
Typ CachedDataItemEnumerator uwidacznia następujące elementy członkowskie.
Właściwości
Nazwa | Opis | |
---|---|---|
Current | Pobiera CachedDataItem w bieżącym położeniu moduł wyliczający. |
Początek
Metody
Nazwa | Opis | |
---|---|---|
Equals | Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object). | |
GetHashCode | Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object). | |
GetType | Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object). | |
MoveNext | Zaliczki modułu wyliczającego do następnego CachedDataItem w CachedDataItemCollection. | |
Reset | Ustawia modułu wyliczającego do jej początkowego położenia, jest przed pierwszym CachedDataItem w kolekcji. | |
ToString | Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object). |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
IEnumerator.Current | Opis tego członka, zobacz Current. | |
IDisposable.Dispose | Zwalnia wszystkie zasoby używane przez CachedDataItemEnumerator. |
Początek
Uwagi
Visual Basic i C# każdy zawierają oświadczenie, że powoduje ukrycie złożoności moduły wyliczające (foreach w języku C# i For Each w języku Visual Basic).Za pomocą instrukcji właściwe dla języka, którego używasz, zamiast bezpośrednio manipulowania moduł wyliczający.
Moduły wyliczające może być używane do odczytywania danych w kolekcji, ale nie można zmodyfikować kolekcji źródłowej.
Początkowo moduł wyliczający jest umieszczony przed pierwszym elementem w kolekcji.Reset Metoda przynosi również modułu wyliczającego wróć do tej pozycji.W tym miejscu, ustawienie Current właściwość zgłasza wyjątek.W związku z tym, należy wywołać MoveNext metodę modułu wyliczającego do pierwszego elementu kolekcji przed odczytywania wartości Current.
Currentzwraca ten sam obiekt, aż do MoveNext lub Reset jest wywoływana.MoveNextUstawia Current do następnego elementu.
Jeśli MoveNext przebiegów koniec zbioru, moduł wyliczający jest umieszczony za ostatnim elementem w kolekcji i MoveNext zwraca false.Gdy moduł wyliczający jest w tej pozycji wezwań do MoveNext również zwracać false.Jeśli wywołanie ostatniego MoveNext zwrócił false, wywołujący Current zgłasza wyjątek.Aby ustawić Current do pierwszego elementu kolekcji ponownie, można wywołać Reset po MoveNext.
Moduł wyliczający zachowuje ważność tak długo, jak kolekcja pozostaje niezmieniony.Jeśli zostaną wprowadzone zmiany do kolekcji, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest nieodwracalnie unieważniona i następne wywołanie MoveNext lub Reset wyrzuca InvalidOperationException.Jeśli kolekcja jest zmodyfikowany między MoveNext i Current, Current zwraca element, który jest ustawiony, nawet jeśli moduł wyliczający jest już unieważnione.
Moduł wyliczający nie mieć wyłączny dostęp do zbioru; w związku z tym, wyliczanie zbioru nierozerwalnie nie jest procedura wielowątkowość.Nawet kiedy kolekcja jest synchronizowane, inne wątki nadal można zmodyfikować kolekcji, która powoduje, że moduł wyliczający zgłaszanie wyjątku.Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, można zablokować podczas wyliczania całej kolekcji lub przechwytywać wyjątków, wynikające ze zmian dokonanych przez inne wątki.
Bezpieczeństwo wątku
Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.