I cannot find the relationships between these types using .Net reflector. Any idea?
Since you say "using .Net reflector":
If you wanted reflection:
Type type = typeof (int);
while(type != null)
{
Console.WriteLine(type.FullName);
type = type.BaseType;
}
which shows:
System.Int32
System.ValueType
System.Object
and if you mean the IL:
.class public sequential ansi serializable sealed beforefieldinit Int32
extends System.ValueType
and:
.class public abstract auto ansi serializable beforefieldinit ValueType
extends System.Object
(in reflector, select the type's node, and select IL as the view)
If you mean the C# view, then:
public struct Int32 ...
is enough; the struct
keyword means: inherits from ValueType
(although not quite in the usual C# class
way). ValueType
remains a regular class, and has:
public abstract class ValueType ...
and as usual, a class
which doesn't specify a base-type means: inherits from object
.