6

我无法使用 .Net 反射器找到这些类型之间的关系。任何的想法?

4

1 回答 1

8

既然你说“使用 .Net 反射器”:

在此处输入图像描述

如果你想要反思:

Type type = typeof (int);
while(type != null)
{
    Console.WriteLine(type.FullName);
    type = type.BaseType;
}

这表明:

System.Int32
System.ValueType
System.Object

如果你的意思是 IL:

.class public sequential ansi serializable sealed beforefieldinit Int32
    extends System.ValueType

和:

.class public abstract auto ansi serializable beforefieldinit ValueType
    extends System.Object

(在反射器中,选择类型的节点,并选择IL作为视图)

如果您的意思是 C# 视图,那么:

public struct Int32 ...

足够; struct关键字的意思是:继承自ValueType(虽然不是通常的 C#class方式)。ValueType仍然是一个普通班级,并且有:

public abstract class ValueType ...

和往常一样,class没有指定基本类型的 a 意味着:继承自object.

于 2012-08-02T07:25:05.893 回答