7

我正在使用 Roslyn 编写一个应用程序来在语法和语义上分析 C# 源代码。对于正在分析的源代码中定义的每种类型,我想存储它是引用类型(类)、值类型(结构)还是接口。

类型类型的适当/官方术语是什么?

例子:

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

3 回答 3

11

如果你想知道官方名称,请查看官方来源:C# 语言规范。从那里引用(§1.3 类型和变量;强调我的):

C#中有两种类型:值类型和引用类型。[…]

C#的值类型进一步分为简单类型、枚举类型、结构类型和可空类型,C#的引用类型进一步分为类类型、接口类型、数组类型和委托类型。

然后有一个表将这些类型组描述为category,还有这个引用:

C# 的五类类型是用户可定义的:类类型、结构类型、接口类型、枚举类型和委托类型。

虽然后来(在 §4 类型中):

C# 语言的类型分为两大:值类型和引用类型。

总而言之,规范称它们为类型的类别,尽管它对该术语的使用不是很一致。

于 2012-12-01T17:54:14.650 回答
3

在类型论中,类型的类型通常称为它的种类。这主要描述了一种类型的参数化形式,尽管它也可以用于其他分类。但我不确定它是否自然适用于您在这里所指的分类。似乎 C# 也没有一个“官方”术语。

于 2012-12-01T18:10:55.200 回答
2

我已经看到我们在 Roslyn 源代码中使用“种类”,例如“可以声明 5 种可能的类型”。但是我不认为有一个官方定义的术语。我会使用“种类”或“种类”。

于 2012-12-02T08:53:03.353 回答