Sdílet prostřednictvím


CachedDataItemEnumerator – třída

Prochází CachedDataItemCollection.

Hierarchie dědičnosti

System.Object
  Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator

Obor názvů:  Microsoft.VisualStudio.Tools.Applications
Sestavení:  Microsoft.VisualStudio.Tools.Applications.ServerDocument (v Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Syntaxe

'Deklarace
<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 zveřejňuje následující členy.

Vlastnosti

  Název Popis
Veřejná vlastnost Current Získává CachedDataItem na aktuální umístění čítače výčtu.

Na začátek

Metody

  Název Popis
Veřejná metoda Equals Určuje, zda zadaná Object se rovná aktuální Object. (Zděděno z Object.)
Chráněná metoda Finalize Umožňuje zkuste uvolnit prostředky a provádět další operace vyčištění před je převzaty systémem pro uvolnění objektu. (Zděděno z Object.)
Veřejná metoda GetHashCode Slouží jako funkce hash určitého typu. (Zděděno z Object.)
Veřejná metoda GetType Získává Type aktuální instance. (Zděděno z Object.)
Chráněná metoda MemberwiseClone Vytvoří kopii aktuální Object. (Zděděno z Object.)
Veřejná metoda MoveNext Přejde na další čítače výčtu CachedDataItem v CachedDataItemCollection.
Veřejná metoda Reset Nastaví čítač do své výchozí polohy před prvním CachedDataItem v kolekci.
Veřejná metoda ToString Vrátí řetězec, který představuje aktuální objekt. (Zděděno z Object.)

Na začátek

Explicitní implementace rozhraní

  Název Popis
Explicitní implementace rozhraníSoukromá vlastnost IEnumerator.Current Popis tohoto člena v Current.
Explicitní implementace rozhraníSoukromá metoda IDisposable.Dispose Uvolní všechny prostředky používané CachedDataItemEnumerator.

Na začátek

Poznámky

Visual Basic a C# obsahují prohlášení, že skryje složitost čítače výčtů (foreach v jazyce C# a For Each v jazyce Visual Basic). Pomocí jazyka, který používáte, namísto přímé zpracovávání čítač příslušné prohlášení.

Čítače výčtu lze číst data v kolekci, ale nemůže sloužit ke změně základní kolekce.

Zpočátku je čítač umístěn před první element v kolekci. Reset Metoda přináší také čítač zpět do pozice. Na této pozici nastavení Current Vlastnost vyvolá výjimku. Proto je třeba volat MoveNext metodu na první prvek kolekce před čtení hodnoty čítače výčtu Current.

Currentdokud buď vrátí stejný objekt MoveNext nebo Reset se nazývá. MoveNextNastaví Current na další prvek.

Pokud MoveNext konce kolekce čítače výčtu je umístěn za posledním prvkem kolekce průchodů a MoveNext vrátí false. Pokud čítač je na této pozici následných výzev k MoveNext také vrátit false. Poslední volání na MoveNext vrátil false, voláním Current vyvolá výjimku. Nastavit Current na první prvek kolekce znovu zavolat Reset následované MoveNext.

Čítač zůstává platný tak dlouho, dokud kolekce zůstane beze změny. Pokud změn do kolekce, například přidávání, úpravy nebo odstranění prvků čítače výčtu je nenávratně zrušena a další volání MoveNext nebo Reset vyvolá InvalidOperationException. Pokud je kolekce změněny mezi MoveNext a Current, Current vrátí prvek, který je nastaven, přestože čítač již zrušena.

Čítač nemá výhradní přístup ke kolekci. Proto výčet prostřednictvím kolekce není bezpečný pro přístup z více vláken. I když kolekce synchronizována, jiných podprocesů upravovat kolekce, která způsobí, že čítač vyvoláním výjimky. Pro zajištění bezpečnosti podprocesu během výčtu kolekce během celého výčtu zamknout nebo výjimky vyplývající ze změny provedené v jiných podprocesů.

Zabezpečení podprocesu

Všechny veřejné členy static (Shared v jazyce Visual Basic) tohoto typu jsou zabezpečeny pro používání podprocesů. Zabezpečení sdílených členů pro používání podprocesů není zaručeno.

Viz také

Odkaz

Microsoft.VisualStudio.Tools.Applications – obor názvů