Udostępnij za pośrednictwem


Klasa EnumerableComCollection<TComEnumerator, TEnumerated>

Zapewnia rodzajowy klasą bazową dla typów, które dostarczają IEnumerable opakowaniowy styl modelu COM IEnumXXX interfejsów.

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Shell.EnumerableComCollection<TComEnumerator, TEnumerated>
    Microsoft.Internal.VisualStudio.PlatformUI.EnumerablePropertiesCollection
    Microsoft.Internal.VisualStudio.PlatformUI.EnumerableVerbsCollection
    Microsoft.VisualStudio.Shell.EnumerableHierarchiesCollection

Przestrzeń nazw:  Microsoft.VisualStudio.Shell
Zestaw:  Microsoft.VisualStudio.Shell.11.0 (w Microsoft.VisualStudio.Shell.11.0.dll)

Składnia

'Deklaracja
Public MustInherit Class EnumerableComCollection(Of TComEnumerator, TEnumerated) _
    Implements IEnumerable(Of TEnumerated), IEnumerable,  _
    IComEnumeratorRelay(Of TComEnumerator, TEnumerated)
public abstract class EnumerableComCollection<TComEnumerator, TEnumerated> : IEnumerable<TEnumerated>, 
    IEnumerable, IComEnumeratorRelay<TComEnumerator, TEnumerated>

Parametry typów

  • TComEnumerator
    Modułu wyliczającego COM typu (np.IEnumString).
  • TEnumerated
    Typ modułu wyliczającego.

Typ EnumerableComCollection<TComEnumerator, TEnumerated> uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda chroniona EnumerableComCollection<TComEnumerator, TEnumerated>(TComEnumerator) Inicjuje nowe wystąpienie EnumerableComCollection<TComEnumerator, TEnumerated> dla dostarczonego modułu wyliczającego.
Metoda chroniona EnumerableComCollection<TComEnumerator, TEnumerated>(TComEnumerator, Int32) Inicjuje nowe wystąpienie EnumerableComCollection<TComEnumerator, TEnumerated> dla podanego rozmiaru modułu wyliczającego i pamięci podręcznej.

Początek

Metody

  Nazwa Opis
Metoda publiczna Clone Klonów elementu z określonego modułu wyliczającego.
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna GetEnumerator Pobiera moduł wyliczający.
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna NextItems Zwraca określoną liczbę elementów.
Metoda publiczna Reset Resetuje licznik kolekcji.
Metoda publiczna Skip Pomija określoną liczbę elementów.
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).

Początek

Pola

  Nazwa Opis
Pole chronioneStatyczny element członkowski DefaultCacheSize Domyślny rozmiar pamięci podręcznej.

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna IEnumerable.GetEnumerator Pobiera moduł wyliczający.

Początek

Uwagi

Klasy, które dziedziczą z klasy to zmienić styl modelu COM IEnumXXX interfejsu do formularza, który może być przetwarzany przez foreach instrukcji.Oddzielne klasy musi pochodzić od klasy podstawowej, to ze względu na sposób, w jaki zdefiniowano generyczne C#.

Moduł wyliczający COM, że zostaje ono odpowiednio wypaczone (Next(), Skip() itp.), ale typy rodzajowe mogą uzyskać dostęp do właściwości i metody tylko na typy sparametryzowana, które są określone w tej klasy musi wywoływać metod ich ograniczeń.Na przykład, można wywołać TComEnumerator.Next() tylko wtedy, gdy określić ograniczenia na TComEnumerator , nakazuje kompilatorowi że typ implementuje Next().

COM IEnumXXX mają jednoznacznie określone typy interfejsów.Innymi słowy IEnumXXX.Metoda Next() zwraca tablicę XXX obiektów.Ponieważ te interfejsy nie mają wspólny interfejs podstawowy, nie można umieścić ograniczenie na TComEnumerator bezpośrednio.Problem można rozwiązać przez zaimplementowanie IComEnumeratorRelay<TComEnumerator, TEnumerated> interfejsu wraz z EnumerableComCollection<TComEnumerator, TEnumerated> interfejsu.Pozwoli typu rodzajowego do wywołania do modułu wyliczającego COM bez konieczności ograniczenia należy umieścić na TComEnumerator.

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.Shell