2012-12-01 13 views
7

Roslynを使用して、構文的にも意味的にもC#ソースコードを分析するアプリケーションを作成しています。分析されるソースコードで定義されている各型ごとに、参照型(クラス)、値型(構造体)、またはインタフェースのいずれであるかを格納したいと思います。タイプのタイプの(公式な)用語は何ですか?

タイプのタイプにはどのような正式な用語が使用されますか?

例:

class A 
{ 
    //This type's type (A's type) is 'class' (i.e. a reference type). 
} 
+0

ハスケルはこの種のものを「kind」と呼びます。たぶんそれは.NETで似ています。 – siride

+0

クラス、インターフェイス、列挙型、型などを含むコレクションの正式な用語があるかどうかわかりません。構造体と呼んでいますが、脚注/用語集の項目を入れて、資料。 – JohnLBevan

+0

この質問にはJon Skeetが必要です:)! –

答えて

11

あなたは正式名称を知りたい場合は、公式のソースを調べる:C#言語仕様。そこから引用(§1.3型および変数、強調鉱山):

C#でタイプ二種類があります値型と参照型は、。 [...]

C#の値型は、さらに単純型、列挙型、構造体型、NULL値型に分類され、C#の参照型はさらにクラス型、インターフェイス型、配列型、および委譲型に分割されます。

はその後カテゴリようなタイプのこれらのグループを記述したテーブルがあり、また、この引用:クラス型、構造体:

種類のC#のカテゴリの

ファイブははユーザー定義可能です型、インターフェイス型、列挙型、およびデリゲート型があります。

が、後(§4タイプの)値型と参照型:C#言語の

タイプは、2つの主要なカテゴリに分割されます。

要約すると、仕様では、その用語の使用法はそれほど一貫していませんが、タイプのカテゴリと呼ばれています。

+0

素晴らしい答え!タイプのグループ(つまり、タイプのカテゴリは同じ種類のタイプのグループ)について話すとき、私は個人的には1つのタイプと「カテゴリ」について話すときに「親切」を使用します。 – lesderid

3

タイプ理論では、タイプのタイプは通常タイプと呼ばれます。それは主に型のパラメータ化の形式を記述しますが、他の分類にも使用できます。しかし、あなたがここで言及している種類の分類に自然に適用されるかどうかはわかりません。それは、C#には "公式な"言葉がないようです。

2

私はRoslynのソースコードで "kind"を使用するのを見てきました。 "宣言できるタイプは5種類あります。"しかし、私はこれについて正式に定義された用語があるとは思わない。私は「種類の種類」または「種類」を使用します。

関連する問題