.NET のオープン ジェネリック型とクローズド ジェネリック型: 違いは何ですか?
.NET では、ジェネリック型は、List<T>
や Dictionary<TKey, TValue>
などの型パラメーターを定義するクラス、インターフェイス、またはデリゲートを指します。オープン ジェネリック型は、1 つ以上の型パラメーターが指定されていないジェネリック型です。閉じたジェネリック型は、型パラメーターが指定されているジェネリック型です。
例
次のジェネリック型を考えてみましょう:
T
: オープンジェネリック型 List<T>
: オープンジェネリック型 Dictionary<string, T>
: オープンジェネリック型 List<int>
: 閉じたジェネリック型 Dictionary<string, int>
: 閉じたジェネリック型 アンバインドされたジェネリック型
アンバインド ジェネリック型は、すべての型パラメーターが指定されていないオープン ジェネリック型の特殊なケースです。これらのタイプは、リフレクションなどの特定のコンテキストでのみ使用できます。アンバインド ジェネリック型の例には、List
や Dictionary
などがあります。
関連概念
「オープンジェネリック型」という用語は一般的には使用されません。代わりに、次の用語が表示される場合があります:
注: オープン ジェネリック型は直接インスタンス化できないことを理解することが重要です。閉じたジェネリック型を作成するには、まず型パラメーターを指定する必要があります。
以上が.NET のオープンジェネリック型とクローズドジェネリック型: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。