mirror of https://github.com/icsharpcode/ILSpy.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.2 KiB
83 lines
2.2 KiB
.class public auto ansi sealed EvType extends [mscorlib]System.MulticastDelegate |
|
{ |
|
// Methods not included. Just the run of the mill ctor + {Begin|End}?Invoke |
|
} |
|
|
|
.class public auto ansi serializable beforefieldinit OwningClass |
|
{ |
|
|
|
.field class EvType EvName |
|
|
|
.event EvType EvName |
|
{ |
|
.addon instance void OwningClass::add_EvName(class EvType) |
|
.removeon instance void OwningClass::remove_EvName(class EvType) |
|
} |
|
|
|
.method public hidebysig specialname |
|
instance void add_EvName ( |
|
class EvType 'value' |
|
) cil managed |
|
{ |
|
.maxstack 3 |
|
.locals init ( |
|
[0] class EvType, |
|
[1] class EvType |
|
) |
|
|
|
IL_0000: ldarg.0 |
|
IL_0001: ldfld class EvType OwningClass::EvName |
|
IL_0006: stloc.0 |
|
// loop start (head: IL_0007) |
|
IL_0007: ldloc.0 |
|
IL_0008: stloc.1 |
|
IL_0009: ldarg.0 |
|
IL_000a: ldflda class EvType OwningClass::EvName |
|
IL_000f: ldloc.1 |
|
IL_0010: ldarg.1 |
|
IL_0011: call class [mscorlib]System.Delegate [mscorlib]System.Delegate::Combine(class [mscorlib]System.Delegate, class [mscorlib]System.Delegate) |
|
IL_0016: castclass EvType |
|
IL_001b: ldloc.0 |
|
IL_001c: call !!0 [mscorlib]System.Threading.Interlocked::CompareExchange<class EvType>(!!0&, !!0, !!0) |
|
IL_0021: stloc.0 |
|
IL_0022: ldloc.0 |
|
IL_0023: ldloc.1 |
|
IL_0024: bne.un IL_0007 |
|
// end loop |
|
IL_0029: ret |
|
} // end of method OwningClass::add_EvName |
|
|
|
.method public hidebysig specialname |
|
instance void remove_EvName ( |
|
class EvType 'value' |
|
) cil managed |
|
{ |
|
.maxstack 3 |
|
.locals init ( |
|
[0] class EvType, |
|
[1] class EvType |
|
) |
|
|
|
IL_0000: ldarg.0 |
|
IL_0001: ldfld class EvType OwningClass::EvName |
|
IL_0006: stloc.0 |
|
// loop start (head: IL_0007) |
|
IL_0007: ldloc.0 |
|
IL_0008: stloc.1 |
|
IL_0009: ldarg.0 |
|
IL_000a: ldflda class EvType OwningClass::EvName |
|
IL_000f: ldloc.1 |
|
IL_0010: ldarg.1 |
|
IL_0011: call class [mscorlib]System.Delegate [mscorlib]System.Delegate::Remove(class [mscorlib]System.Delegate, class [mscorlib]System.Delegate) |
|
IL_0016: castclass EvType |
|
IL_001b: ldloc.0 |
|
IL_001c: call !!0 [mscorlib]System.Threading.Interlocked::CompareExchange<class EvType>(!!0&, !!0, !!0) |
|
IL_0021: stloc.0 |
|
IL_0022: ldloc.0 |
|
IL_0023: ldloc.1 |
|
IL_0024: bne.un IL_0007 |
|
// end loop |
|
IL_0029: ret |
|
} // end of method OwningClass::remove_EvName |
|
|
|
} // end of class OwningClass |