可能性の重複:
C# Language: generics, open/closed, bound/unbound, constructedC#で空の汎用パラメータ<,>の用語は何ですか?
C#で反射していくつかのものをやっている間、私はいくつかのタイプがタイプ定義などを持っていることに気付きました
Foo<,>
この表記法の正式な用語は何ですか?
可能性の重複:
C# Language: generics, open/closed, bound/unbound, constructedC#で空の汎用パラメータ<,>の用語は何ですか?
C#で反射していくつかのものをやっている間、私はいくつかのタイプがタイプ定義などを持っていることに気付きました
Foo<,>
この表記法の正式な用語は何ですか?
タイプ名が結合していないジェネリック型と呼ばれています。 This questionには、バインドされていないジェネリック型だけでなく、関連する用語も簡単にまとめられています。
これらのタイプを説明するコンテキストによっては、他の用語を使用することもできます。 C#仕様では、 "unbound generic type"という用語を使用して、T<>
のようなものを参照しています。 .Netフレームワークは、用語「ジェネリック型定義」(dasblinkenlightが指摘されている、Type.GetGenericTypeDefinition()
も参照)または「汎用型を開く」(thisの記事を参照)を好むようです。
*非結合ジェネリック型*ジェネリック型定義*と同義語ですか? – Bringer128
@ Bringer128 IMO、*型定義*は型を定義するソースコードです。だから、私は彼らが同義語だとは思わない。 –
これはジェネリック型定義を表しタイプですなList<>
などの一般的なパラメータが欠落している
var genType = typeof(Foo<int,int>);
var genTypeDef = genType.GetGenericTypeDefinition(); // Returns typeof(Foo<,>)
*ジェネリック型の定義*はアンバインドされたジェネリック型の類義語*ですか? – Bringer128
@ Bringer128 2つは関連しています。ジェネリック型定義は、無制限ジェネリック型に対応する 'System.Type'オブジェクトを記述するためにリフレクションで使用される用語です。 – dasblinkenlight
@JohnSaunders私はこれを複製と呼んでいません。私は「Foo <,>」とは何ですか?彼は「非結合ジェネリック型は何ですか?」と尋ねています。 Googleで彼の質問を見つけたとしても、その名前を知らずにはいられません。 – Bringer128
私の考えでは、それはそれを削除してはならない複製にします。 –
より密接に関連したリンク:[if-at1-t2-is-a-template-for-actual-type-then-why-is-typeofa-allowed](http://stackoverflow.com/questions/3220480/if)実際の型のためのテンプレートである-at1-t2-is-a-template-a-typeofa-allowed?lq = 1) – nawfal