在哪里知道/检查:Int32继承自ValueType,ValueType是否继承自Object?

use*_*098 6 .net object int32 value-type

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

Mar*_*ell 8

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

在此输入图像描述

如果你想反思:

Type type = typeof (int);
while(type != null)
{
    Console.WriteLine(type.FullName);
    type = type.BaseType;
}
Run Code Online (Sandbox Code Playgroud)

这表现了:

System.Int32
System.ValueType
System.Object
Run Code Online (Sandbox Code Playgroud)

如果你的意思是IL:

.class public sequential ansi serializable sealed beforefieldinit Int32
    extends System.ValueType
Run Code Online (Sandbox Code Playgroud)

和:

.class public abstract auto ansi serializable beforefieldinit ValueType
    extends System.Object
Run Code Online (Sandbox Code Playgroud)

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

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

public struct Int32 ...
Run Code Online (Sandbox Code Playgroud)

足够; 的struct关键字是指:从继承ValueType(尽管在通常的C#不太class方式).ValueType仍然是一个普通班级,并具有:

public abstract class ValueType ...
Run Code Online (Sandbox Code Playgroud)

和往常一样,class没有指定基类型的意思是:继承自object.