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 | |
---|---|---|
![]() |
EnumerableComCollection<TComEnumerator, TEnumerated>(TComEnumerator) | Inicjuje nowe wystąpienie EnumerableComCollection<TComEnumerator, TEnumerated> dla dostarczonego modułu wyliczającego. |
![]() |
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 | |
---|---|---|
![]() |
Clone | Klonów elementu z określonego modułu wyliczającego. |
![]() |
Equals | Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object). |
![]() |
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). |
![]() |
GetEnumerator | Pobiera moduł wyliczający. |
![]() |
GetHashCode | Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object). |
![]() |
GetType | Pobiera Type bieżącej instancji. (Odziedziczone z Object). |
![]() |
MemberwiseClone | Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object). |
![]() |
NextItems | Zwraca określoną liczbę elementów. |
![]() |
Reset | Resetuje licznik kolekcji. |
![]() |
Skip | Pomija określoną liczbę elementów. |
![]() |
ToString | Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object). |
Początek
Pola
Nazwa | Opis | |
---|---|---|
![]() ![]() |
DefaultCacheSize | Domyślny rozmiar pamięci podręcznej. |
Początek
Jawne implementacje interfejsu
Nazwa | Opis | |
---|---|---|
![]() ![]() |
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.