.assembly 'params' { } .assembly extern 'mscorlib' { .ver 1:0:5000:0 .publickeytoken = ( b7 7a 5c 56 19 34 e0 89 ) } .class public 'test' extends [mscorlib]System.Object { .property instance int32 Item(string[]) { .get instance int32 'test'::'get_Item'(string[]) .set instance void 'test'::'set_Item'(string[],int32) } // end of property Item .method hidebysig specialname public instance int32 'get_Item'(string[] 'args') { .locals init ([0]int32 't0') ldc.i4 1 stloc 0 // t0 br $1 $1: ldloc 0 // t0 ret .maxstack 1 } // end of method test.get_Item .method hidebysig specialname public instance void 'set_Item'(string[] 'args',int32 'value') { ldarg 1 // args call void 'test'::'print'(string[]) ldstr "value={0}" ldarg 2 // value box int32 call void [mscorlib]System.Console::'WriteLine'(string,object) ret .maxstack 2 } // end of method test.set_Item .method hidebysig static private void 'print'(string[] 'args') { ldarg 0 // args ldlen conv.i4 ldc.i4 0 bne.un $1 ldstr "no arguments" call void [mscorlib]System.Console::'WriteLine'(string) br $2 $1: .locals init ([0]string 't0') .locals init ([1]int32 't1') .locals init ([2]string[] 't2') ldarg 0 // args stloc 2 // t2 ldc.i4.0 stloc 1 // t1 br $6 $3: ldloc 2 // t2 ldloc 1 // t1 ldelem.ref stloc 0 // s ldloc 0 // s call void [mscorlib]System.Console::'Write'(string) $4: ldloc 1 // t1 ldc.i4.1 add stloc 1 // t1 $6: ldloc 1 // t1 ldloc 2 // t2 ldlen conv.i4 blt $3 $5: $2: ret .maxstack 2 } // end of method test.print .method hidebysig static public void 'Main'() { .entrypoint ldc.i4 4 newarr string dup ldc.i4 0 ldstr "Hello" stelem.ref dup ldc.i4 1 ldstr " " stelem.ref dup ldc.i4 2 ldstr "World" stelem.ref dup ldc.i4 3 ldstr "\n" stelem.ref call void 'test'::'print'(string[]) ldc.i4 4 newarr string dup ldc.i4 0 ldstr "Hello" stelem.ref dup ldc.i4 1 ldstr " " stelem.ref dup ldc.i4 2 ldstr "World" stelem.ref dup ldc.i4 3 ldstr "\n" stelem.ref call void 'test'::'print'(string[]) .locals init ([0]class 'test' 't0') newobj instance void 'test'::.ctor() stloc 0 // x ldloc 0 // x ldc.i4 4 newarr string dup ldc.i4 0 ldstr "Hello" stelem.ref dup ldc.i4 1 ldstr " " stelem.ref dup ldc.i4 2 ldstr "World" stelem.ref dup ldc.i4 3 ldstr "\n" stelem.ref ldc.i4 2 call instance void 'test'::'set_Item'(string[],int32) ldc.i4 0 newarr string call void 'test'::'print'(string[]) ret .maxstack 5 } // end of method test.Main .method hidebysig specialname rtspecialname public void .ctor() { ldarg.0 call instance void [mscorlib]System.Object::.ctor() ret .maxstack 1 } // end of constructor test.test } // end of class test