Where to know / check: Int32 inherits from ValueType, ValueType inherits from Object?

I can not find the relationship between these types using the .Net reflector. Any idea?

+6
source share
1 answer

Since you say "using the .Net reflector":

enter image description here

If you need 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 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 the reflector, select the node type and select IL as the view)

If you mean the C # representation, then:

 public struct Int32 ... 

enough; the struct keyword means : inherits from ValueType (although not quite in the usual C # class ). ValueType remains a regular class and has:

 public abstract class ValueType ... 

and, as usual, a class that does not specify a tool of the base type: inherits from object .

+8
source

Source: https://habr.com/ru/post/921913/


All Articles