構築されたオープンおよびクローズのジェネリック型についての深い理解
プログラミング言語のジェネリックスを使用すると、実行時にさまざまなデータ型を処理できる型を定義できます。ジェネリック タイプには、オープン構築タイプとクローズ構築タイプの 2 つの形式が存在します。この記事は、これら 2 つのタイプの違いを明確にすることを目的としています。
密閉構造タイプ:
閉じた構築型は、すべての型パラメーターが具象型として指定されるジェネリック型です。つまり、閉じられた構築型は、完全にインスタンス化されたジェネリック型です。例:
<code>Dictionary<string, int> myDictionary = new Dictionary<string, int>();</code>
この例では、Dictionary<string, int>
は閉じた構築型です。 Dictionary
は、TKey
と TValue
という 2 つの型パラメーターを持つジェネリック型です。ただし、この場合、TKey
は string
として指定され、TValue
は int
として指定されています。
オープン構造タイプ:
オープン構築型は、1 つ以上の型パラメーターが指定されていないジェネリック型です。言い換えれば、オープン構築型は、部分的にインスタンス化されたジェネリック型です。例:
<code>Dictionary<TKey, TValue> myDictionary2 = new Dictionary<TKey, TValue>();</code>
この例では、Dictionary<TKey, TValue>
はオープン構築型です。 Dictionary
は 2 つの型パラメーターを持つジェネリック型ですが、TKey
と TValue
は指定されていません。したがって、Dictionary<TKey, TValue>
は任意のタイプの TKey
と TValue
を受け入れることができます。
重要性:
オープン構造タイプとクローズド構造タイプの違いは技術的に見えるかもしれませんが、次のような特定の状況では重要になることがあります。
実際には、オープン構築型とクローズド構築型の区別は通常重要ではなく、ほとんどのプログラマは明示的に気にすることなく効果的に作業できます。
以上が構築されたオープンジェネリック型とクローズドジェネリック型の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。