sziasztok!
egy kis problémám lenne IL értelmezéssel, van itt vki aki csinált már hasonlót?
ezt még értem.Kód:.method public hidebysig specialname instance valuetype RedGate.Licensing.Client.TrialStatus get_TrialStatus() cil managed { // Code size 7 (0x7) .maxstack 1 IL_0000: ldarg.0 IL_0001: ldfld valuetype RedGate.Licensing.Client.TrialStatus RedGate.Licensing.Client.Licence::_1 IL_0006: ret } // end of method Licence::get_TrialStatus
na de nézzünk egy kicsit összetettebbet:
nagyon megköszönném, ha vki elmesélné sorról sorra, mi történik.Kód:.method public hidebysig specialname instance int32 get_DaysLeftInTrial() cil managed { // Code size 50 (0x32) .maxstack 3 .locals init (valuetype [mscorlib]System.TimeSpan V_0, int32 V_1, valuetype [mscorlib]System.DateTime V_2) IL_0000: ldarg.0 IL_0001: call instance valuetype RedGate.Licensing.Client.TrialStatus RedGate.Licensing.Client.Licence::get_TrialStatus() IL_0006: ldc.i4.1 IL_0007: beq.s IL_000b IL_0009: ldc.i4.0 IL_000a: ret IL_000b: call valuetype [mscorlib]System.DateTime [mscorlib]System.DateTime::get_UtcNow() IL_0010: stloc.2 IL_0011: ldloca.s V_2 IL_0013: ldarg.0 IL_0014: ldfld valuetype [mscorlib]System.DateTime RedGate.Licensing.Client.Licence::_2 IL_0019: call instance valuetype [mscorlib]System.TimeSpan [mscorlib]System.DateTime::Subtract(valuetype [mscorlib]System.DateTime) IL_001e: stloc.0 IL_001f: ldc.i4.s 14 IL_0021: ldloca.s V_0 IL_0023: call instance int32 [mscorlib]System.TimeSpan::get_Days() IL_0028: sub IL_0029: stloc.1 IL_002a: ldloc.1 IL_002b: ldc.i4.0 IL_002c: bge.s IL_0030 IL_002e: ldc.i4.0 IL_002f: stloc.1 IL_0030: ldloc.1 IL_0031: ret } // end of method Licence::get_DaysLeftInTrial
azt értem, hogy:
IL_0000: betölti az arg-okat a stackra.
IL_0001: meghívja a get_TrialStatus-t
IL_0006: ez a IL_0001 -t tárolja memóriában? itt jönnek a kérdések
IL_0007: összehasonlítja az IL_0006-t ezzel:IL_000b
csakhogy az egyik date a masik meg RedGate.Licensing.Client.TrialStatus type, ami igazabol csak egy enum.
de nem igazan ertem, hogy ez utan mi történik.
vki felvilágosítana? megköszönném.




Válaszol idézettel

Könyvjelzők