C# int32是对象的多态性吗?

C# int32是对象的多态性吗?,c#,.net,reflector,C#,.net,Reflector,当我这样做的时候 int k=3; 在反射器中哪里可以找到伪语句 Object k = new Int32(); 在哪里可以找到赋值?不存在这样的语句 Int32是一种不可变的值类型。 3本身是一个Int32值。即使基元类型继承自对象,但.net Framework以特殊的方式处理它们。int是一个int,使用ldc.i4等函数处理(将32位常量加载到堆栈) 在需要对象的情况下,一个int确实是通过一个名为.的进程转换为对象的,但所有int都是从对象继承的,所以这里必须有一些多态机制……in

当我这样做的时候

int k=3;
在反射器中哪里可以找到伪语句

Object k = new Int32();

在哪里可以找到赋值?不存在这样的语句

Int32
是一种不可变的值类型。

3
本身是一个
Int32
值。

即使基元类型继承自对象,但.net Framework以特殊的方式处理它们。int是一个int,使用ldc.i4等函数处理(将32位常量加载到堆栈)


在需要对象的情况下,一个int确实是通过一个名为.

的进程转换为对象的,但所有int都是从对象继承的,所以这里必须有一些多态机制……int32不是从对象继承的。但它只能针对装箱值类型装箱到object中。@Mid:您的(不正确)语句与您的问题无关。@thorkia:事实上,它与您的问题无关。Int32继承自ValueType;ValueType继承自对象。但是,编译器&CLR将ValueType派生类视为特例。