<b>(a)</b> struct MyStruct { int high; int low; } class MyObject { int high; int low; } <b>(b)</b> .class private sequential ansi sealed beforefieldinit MyStruct extends [mscorlib]System.ValueType { .field private int32 high .field private int32 low } // end of class MyStruct <b>(c) </b> .class private auto ansi beforefieldinit MyObject extends [mscorlib]System.Object { .field private int32 high .field private int32 low .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { // Code size 7 (0x7) .maxstack 1 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ret } // end of method MyObject::.ctor } // end of class MyObject <b>(d)</b> object[] my_array = new object[1]; my_array[0] = 1; // boxed to (object) int x = (int) my_array[0] + 1; // unboxed
Example 1: The Common Type System (CTS).