结构,枚举,类,接口,还有什么?

时间:2013-05-12 19:33:55

标签: c# .net class types struct

在我编写一些处理反射的辅助函数时,我正在思考这个问题。在C#中除了class es,struct s,enuminterface之外还有其他什么吗?如果我编写了一个检查classstructenuminterface的函数,那么是否包含全部函数

我认为delegate是课程herehere

帮助我完善这种层次结构的想法:

   reference type                   value type
         |                               |    
  ---------------                   ----------
  |             |                   |        |
interface    class                struct    enum


// the all encompassing function - pseudo code:
public static bool IsC#Stuff(this Type type)
{
    return type.IsEnum || type.IsStruct || type.IsClass || type.IsInterface;
}

我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

还有数组和委托,尽管这些实际上是类。

在泛型方法或类型的定义中还有对方法的引用(ref参数)和泛型类型参数。

在不安全的代码中,也有指针。

答案 1 :(得分:1)

不确定这是您问题的直接答案,但.NET有5种类型:
class,struct,interface,delegate和enum

Common Type System