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
Właściwość publiczna Current Pobiera CachedDataItem w bieżącym położeniu moduł wyliczający.

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object).
Metoda publiczna GetHashCode Służy jako domyślnej funkcji mieszania. (Odziedziczone z Object).
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna MoveNext Zaliczki modułu wyliczającego do następnego CachedDataItem w CachedDataItemCollection.
Metoda publiczna Reset Ustawia modułu wyliczającego do jej początkowego położenia, jest przed pierwszym CachedDataItem w kolekcji.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuWłaściwość prywatna IEnumerator.Current Opis tego członka, zobacz Current.
Jawna implementacja interfejsuMetoda prywatna 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.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Tools.Applications