EnumerableComCollection<TComEnumerator,TEnumerated> クラス
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
COM スタイルの IEnumXXX インターフェイスに関する IEnumerable ラッパーを提供する型のジェネリック 基底クラス。
generic <typename TComEnumerator, typename TEnumerated>
public ref class EnumerableComCollection abstract : Microsoft::VisualStudio::Shell::IComEnumeratorRelay<TComEnumerator, TEnumerated>, System::Collections::Generic::IEnumerable<TEnumerated>
public abstract class EnumerableComCollection<TComEnumerator,TEnumerated> : Microsoft.VisualStudio.Shell.IComEnumeratorRelay<TComEnumerator,TEnumerated>, System.Collections.Generic.IEnumerable<TEnumerated>
type EnumerableComCollection<'ComEnumerator, 'Enumerated> = class
interface seq<'Enumerated>
interface IEnumerable
interface IComEnumeratorRelay<'ComEnumerator, 'Enumerated>
Public MustInherit Class EnumerableComCollection(Of TComEnumerator, TEnumerated)
Implements IComEnumeratorRelay(Of TComEnumerator, TEnumerated), IEnumerable(Of TEnumerated)
- TComEnumerator
COM 列挙子の種類 (IEnumString など)
- TEnumerated
によって TComEnumerator
列挙された型 (例: string)
- 継承
-
EnumerableComCollection<TComEnumerator,TEnumerated>
- 派生
- 実装
このクラスから派生するクラスは、COM スタイルの IEnumXXX インターフェイスを、foreach ステートメントで処理できるフォームに適合させます。 理想的には、このジェネリック クラスは、派生クラスがジョブを実行する必要なしに単独で十分ですが、C# ジェネリックを定義する必要がある厳密さによって、これを防ぐことができます。
このクラスは、ラップする COM 列挙子のメソッド (Next、Skip など) を呼び出す必要がありますが、ジェネリック型は、パラメーター化された型の制約で指定されたパラメーター化された型のプロパティとメソッドにのみアクセスできます。 具体的には、TComEnumerator が Next を実装することをコンパイラに指示する制約を TComEnumerator に指定した場合にのみ、TComEnumerator.Next を呼び出すことができます。
COM IEnumXXX インターフェイスは厳密に型指定され (つまり、IEnumXXX.Next は XXX オブジェクトの配列を返します)、共通の基底クラスがないため、TComEnumerator に制約を直接配置することはできません。 IComEnumeratorRelay が入っている場所: EnumerableComCollection では、その派生クラスが厳密に型指定された IComEnumeratorRelay インターフェイスを実装する必要があります。これにより、ジェネリック型は TComEnumerator に制約を設定せずに COM 列挙子を呼び出すことができます。
Enumerable |
指定された列挙子の の EnumerableComCollection<TComEnumerator,TEnumerated> 新しいインスタンスを初期化します。 |
Enumerable |
指定された列挙子とキャッシュ サイズの の新しいインスタンス EnumerableComCollection<TComEnumerator,TEnumerated> を初期化します。 |
Default |
既定のキャッシュ サイズ。 |
Clone(TCom |
指定した列挙子 を使用して項目を複製します。 |
Get |
列挙子を取得します。 |
Next |
指定した項目数を取得します。 |
Reset(TCom |
コレクションのカウンターをリセットします。 |
Skip(TCom |
指定した数の項目をスキップします。 |
IEnumerable. |
列挙子を取得します。 |
Empty |
null でない場合は、この列挙体を返します。 null の場合は、空の列挙を返します。 |
製品 | バージョン |
---|---|
Visual Studio SDK | 2015, 2017, 2019, 2022 |