Skip to content

Instantly share code, notes, and snippets.

@AviAvni
Created January 31, 2017 13:55
Show Gist options
  • Select an option

  • Save AviAvni/388b8a3023181bd78f9d56e85c2a4b31 to your computer and use it in GitHub Desktop.

Select an option

Save AviAvni/388b8a3023181bd78f9d56e85c2a4b31 to your computer and use it in GitHub Desktop.
// Microsoft (R) .NET Framework IL Disassembler. Version 4.5.22220.0
// Metadata version: v4.0.30319
.assembly extern System.Private.CoreLib
{
.publickeytoken = (7C EC 85 D7 BE A7 79 8E ) // |.....y.
.ver 4:0:0:0
}
.assembly Program
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
// --- The following custom attribute is added automatically, do not uncomment -------
// .custom instance void [System.Private.CoreLib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [System.Private.CoreLib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 )
.custom instance void class ConsoleApplication21.SingleAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.SingleAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor(!0) = ( 01 00 01 00 00 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 01 00 54 08 05 56 61 6C 75 65 02 00 00 00 ) // ....T..Value....
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor(!0) = ( 01 00 01 00 00 )
.hash algorithm 0x00008004
.ver 0:0:0:0
}
.module Program.exe
// MVID: {CBF47184-32E1-4660-A9DA-99E9A3C95820}
.imagebase 0x00400000
.file alignment 0x00000200
.stackreserve 0x00100000
.subsystem 0x0003 // WINDOWS_CUI
.corflags 0x00000001 // ILONLY
// Image base: 0x000001CE01070000
// =============== CLASS MEMBERS DECLARATION ===================
.class private auto ansi beforefieldinit ConsoleApplication21.SingleAttribute`1<T>
extends [System.Private.CoreLib]System.Attribute
{
.custom instance void [System.Private.CoreLib]System.AttributeUsageAttribute::.ctor(valuetype [System.Private.CoreLib]System.AttributeTargets) = ( 01 00 85 00 00 00 01 00 54 02 0D 41 6C 6C 6F 77 // ........T..Allow
4D 75 6C 74 69 70 6C 65 00 ) // Multiple.
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [System.Private.CoreLib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method SingleAttribute`1::.ctor
} // end of class ConsoleApplication21.SingleAttribute`1
.class private auto ansi beforefieldinit ConsoleApplication21.MultiAttribute`1<T>
extends [System.Private.CoreLib]System.Attribute
{
.custom instance void [System.Private.CoreLib]System.AttributeUsageAttribute::.ctor(valuetype [System.Private.CoreLib]System.AttributeTargets) = ( 01 00 85 00 00 00 01 00 54 02 0D 41 6C 6C 6F 77 // ........T..Allow
4D 75 6C 74 69 70 6C 65 01 ) // Multiple.
.field private !T '<Value>k__BackingField'
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
.custom instance void [System.Private.CoreLib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Private.CoreLib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.method public hidebysig specialname instance !T
get_Value() cil managed
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld !0 class ConsoleApplication21.MultiAttribute`1<!T>::'<Value>k__BackingField'
IL_0006: ret
} // end of method MultiAttribute`1::get_Value
.method public hidebysig specialname instance void
set_Value(!T 'value') cil managed
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld !0 class ConsoleApplication21.MultiAttribute`1<!T>::'<Value>k__BackingField'
IL_0007: ret
} // end of method MultiAttribute`1::set_Value
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 9 (0x9)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [System.Private.CoreLib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: ret
} // end of method MultiAttribute`1::.ctor
.method public hidebysig specialname rtspecialname
instance void .ctor(!T 'value') cil managed
{
// Code size 17 (0x11)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [System.Private.CoreLib]System.Attribute::.ctor()
IL_0006: nop
IL_0007: nop
IL_0008: ldarg.0
IL_0009: ldarg.1
IL_000a: call instance void class ConsoleApplication21.MultiAttribute`1<!T>::set_Value(!0)
IL_000f: nop
IL_0010: ret
} // end of method MultiAttribute`1::.ctor
.property instance !T Value()
{
.get instance !T ConsoleApplication21.MultiAttribute`1::get_Value()
.set instance void ConsoleApplication21.MultiAttribute`1::set_Value(!T)
} // end of property MultiAttribute`1::Value
} // end of class ConsoleApplication21.MultiAttribute`1
.class private auto ansi beforefieldinit ConsoleApplication21.Program
extends [System.Private.CoreLib]System.Object
{
.custom instance void class ConsoleApplication21.SingleAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.SingleAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor(!0) = ( 01 00 01 00 00 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 01 00 54 08 05 56 61 6C 75 65 02 00 00 00 ) // ....T..Value....
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor(!0) = ( 01 00 01 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor() = ( 01 00 01 00 54 02 05 56 61 6C 75 65 01 ) // ....T..Value.
.custom instance void class ConsoleApplication21.MultiAttribute`1<valuetype [System.Private.CoreLib]System.Nullable`1<bool>>::.ctor() = ( 01 00 00 00 )
.class auto ansi nested private beforefieldinit Derive
extends ConsoleApplication21.Program
{
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void ConsoleApplication21.Program::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method Derive::.ctor
} // end of class Derive
.class auto ansi serializable sealed nested private beforefieldinit '<>c'
extends [System.Private.CoreLib]System.Object
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
.field public static initonly class ConsoleApplication21.Program/'<>c' '<>9'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_0'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_1'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_2'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_3'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_4'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_5'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_6'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_7'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_8'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_9'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_10'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_11'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_12'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_13'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_14'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_15'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_16'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_17'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_18'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_19'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_20'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_21'
.field public static class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> '<>9__5_22'
.method private hidebysig specialname rtspecialname static
void .cctor() cil managed
{
// Code size 11 (0xb)
.maxstack 8
IL_0000: newobj instance void ConsoleApplication21.Program/'<>c'::.ctor()
IL_0005: stsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_000a: ret
} // end of method '<>c'::.cctor
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [System.Private.CoreLib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method '<>c'::.ctor
.method assembly hidebysig instance bool
'<Main>b__5_0'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<int32>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_0'
.method assembly hidebysig instance bool
'<Main>b__5_1'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<bool>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_1'
.method assembly hidebysig instance bool
'<Main>b__5_2'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_2'
.method assembly hidebysig instance bool
'<Main>b__5_3'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.1
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_3'
.method assembly hidebysig instance bool
'<Main>b__5_4'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.2
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_4'
.method assembly hidebysig instance bool
'<Main>b__5_5'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_5'
.method assembly hidebysig instance bool
'<Main>b__5_6'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ret
} // end of method '<>c'::'<Main>b__5_6'
.method assembly hidebysig instance bool
'<Main>b__5_7'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ret
} // end of method '<>c'::'<Main>b__5_7'
.method assembly hidebysig instance bool
'<Main>b__5_8'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 23 (0x17)
.maxstack 2
.locals init (valuetype [System.Private.CoreLib]System.Nullable`1<bool> V_0)
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<valuetype [System.Private.CoreLib]System.Nullable`1<bool>>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<valuetype [System.Private.CoreLib]System.Nullable`1<bool>>::get_Value()
IL_000b: stloc.0
IL_000c: ldloca.s V_0
IL_000e: call instance bool valuetype [System.Private.CoreLib]System.Nullable`1<bool>::get_HasValue()
IL_0013: ldc.i4.0
IL_0014: ceq
IL_0016: ret
} // end of method '<>c'::'<Main>b__5_8'
.method assembly hidebysig instance bool
'<Main>b__5_9'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<int32>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_9'
.method assembly hidebysig instance bool
'<Main>b__5_10'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<bool>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_10'
.method assembly hidebysig instance bool
'<Main>b__5_11'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_11'
.method assembly hidebysig instance bool
'<Main>b__5_12'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.1
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_12'
.method assembly hidebysig instance bool
'<Main>b__5_13'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.2
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_13'
.method assembly hidebysig instance bool
'<Main>b__5_14'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_14'
.method assembly hidebysig instance bool
'<Main>b__5_15'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ret
} // end of method '<>c'::'<Main>b__5_15'
.method assembly hidebysig instance bool
'<Main>b__5_16'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<int32>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_16'
.method assembly hidebysig instance bool
'<Main>b__5_17'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 10 (0xa)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.SingleAttribute`1<bool>
IL_0006: ldnull
IL_0007: cgt.un
IL_0009: ret
} // end of method '<>c'::'<Main>b__5_17'
.method assembly hidebysig instance bool
'<Main>b__5_18'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_18'
.method assembly hidebysig instance bool
'<Main>b__5_19'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.1
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_19'
.method assembly hidebysig instance bool
'<Main>b__5_20'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<int32>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<int32>::get_Value()
IL_000b: ldc.i4.2
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_20'
.method assembly hidebysig instance bool
'<Main>b__5_21'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 15 (0xf)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ldc.i4.0
IL_000c: ceq
IL_000e: ret
} // end of method '<>c'::'<Main>b__5_21'
.method assembly hidebysig instance bool
'<Main>b__5_22'(class [System.Private.CoreLib]System.Attribute a) cil managed
{
// Code size 12 (0xc)
.maxstack 8
IL_0000: ldarg.1
IL_0001: isinst class ConsoleApplication21.MultiAttribute`1<bool>
IL_0006: callvirt instance !0 class ConsoleApplication21.MultiAttribute`1<bool>::get_Value()
IL_000b: ret
} // end of method '<>c'::'<Main>b__5_22'
} // end of class '<>c'
.field private int32 '<Property>k__BackingField'
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
.custom instance void [System.Private.CoreLib]System.Diagnostics.DebuggerBrowsableAttribute::.ctor(valuetype [System.Private.CoreLib]System.Diagnostics.DebuggerBrowsableState) = ( 01 00 00 00 00 00 00 00 )
.method public hidebysig specialname instance int32
get_Property() cil managed
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld int32 ConsoleApplication21.Program::'<Property>k__BackingField'
IL_0006: ret
} // end of method Program::get_Property
.method public hidebysig specialname instance void
set_Property(int32 'value') cil managed
{
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld int32 ConsoleApplication21.Program::'<Property>k__BackingField'
IL_0007: ret
} // end of method Program::set_Property
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint
// Code size 1940 (0x794)
.maxstack 3
.locals init (class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<class [System.Private.CoreLib]System.Attribute> V_0,
class [System.Private.CoreLib]System.Collections.IEnumerator V_1,
class [System.Private.CoreLib]System.Collections.IEnumerator V_2,
class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<class ConsoleApplication21.SingleAttribute`1<int32>> V_3,
class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<class ConsoleApplication21.SingleAttribute`1<bool>> V_4,
class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<class ConsoleApplication21.MultiAttribute`1<int32>> V_5,
class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<class ConsoleApplication21.MultiAttribute`1<bool>> V_6)
IL_0000: nop
IL_0001: ldtoken ConsoleApplication21.Program
IL_0006: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_000b: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0010: callvirt instance class [System.Private.CoreLib]System.Reflection.Assembly [System.Private.CoreLib]System.Type::get_Assembly()
IL_0015: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.Assembly)
IL_001a: ldnull
IL_001b: cgt.un
IL_001d: ldc.i4.s 65
IL_001f: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0024: nop
IL_0025: ldtoken ConsoleApplication21.Program
IL_002a: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_002f: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0034: callvirt instance class [System.Private.CoreLib]System.Reflection.Assembly [System.Private.CoreLib]System.Type::get_Assembly()
IL_0039: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.Assembly)
IL_003e: ldnull
IL_003f: cgt.un
IL_0041: ldc.i4.s 66
IL_0043: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0048: nop
IL_0049: ldtoken ConsoleApplication21.Program
IL_004e: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0053: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0058: callvirt instance class [System.Private.CoreLib]System.Reflection.Assembly [System.Private.CoreLib]System.Type::get_Assembly()
IL_005d: ldtoken class ConsoleApplication21.SingleAttribute`1<int32>
IL_0062: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0067: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.Assembly,
class [System.Private.CoreLib]System.Type)
IL_006c: ldc.i4.s 67
IL_006e: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0073: nop
IL_0074: ldtoken ConsoleApplication21.Program
IL_0079: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_007e: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0083: callvirt instance class [System.Private.CoreLib]System.Reflection.Assembly [System.Private.CoreLib]System.Type::get_Assembly()
IL_0088: ldtoken class ConsoleApplication21.SingleAttribute`1<bool>
IL_008d: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0092: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.Assembly,
class [System.Private.CoreLib]System.Type)
IL_0097: ldc.i4.s 68
IL_0099: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_009e: nop
IL_009f: ldtoken ConsoleApplication21.Program
IL_00a4: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_00a9: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_00ae: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_00b3: ldnull
IL_00b4: cgt.un
IL_00b6: ldc.i4.s 70
IL_00b8: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_00bd: nop
IL_00be: ldtoken ConsoleApplication21.Program
IL_00c3: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_00c8: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_00cd: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_00d2: ldnull
IL_00d3: cgt.un
IL_00d5: ldc.i4.s 71
IL_00d7: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_00dc: nop
IL_00dd: ldtoken ConsoleApplication21.Program
IL_00e2: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_00e7: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_00ec: ldtoken class ConsoleApplication21.SingleAttribute`1<int32>
IL_00f1: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_00f6: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.MemberInfo,
class [System.Private.CoreLib]System.Type)
IL_00fb: ldc.i4.s 72
IL_00fd: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0102: nop
IL_0103: ldtoken ConsoleApplication21.Program
IL_0108: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_010d: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0112: ldtoken class ConsoleApplication21.SingleAttribute`1<bool>
IL_0117: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_011c: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.MemberInfo,
class [System.Private.CoreLib]System.Type)
IL_0121: ldc.i4.s 73
IL_0123: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0128: nop
IL_0129: ldtoken ConsoleApplication21.Program
IL_012e: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0133: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0138: ldstr "Property"
IL_013d: callvirt instance class [System.Private.CoreLib]System.Reflection.PropertyInfo [System.Private.CoreLib]System.Type::GetProperty(string)
IL_0142: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_0147: ldnull
IL_0148: cgt.un
IL_014a: ldc.i4.s 75
IL_014c: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0151: nop
IL_0152: ldtoken ConsoleApplication21.Program
IL_0157: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_015c: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0161: ldstr "Property"
IL_0166: callvirt instance class [System.Private.CoreLib]System.Reflection.PropertyInfo [System.Private.CoreLib]System.Type::GetProperty(string)
IL_016b: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_0170: ldnull
IL_0171: cgt.un
IL_0173: ldc.i4.s 76
IL_0175: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_017a: nop
IL_017b: ldtoken ConsoleApplication21.Program
IL_0180: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0185: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_018a: ldstr "Property"
IL_018f: callvirt instance class [System.Private.CoreLib]System.Reflection.PropertyInfo [System.Private.CoreLib]System.Type::GetProperty(string)
IL_0194: ldtoken class ConsoleApplication21.SingleAttribute`1<int32>
IL_0199: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_019e: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.MemberInfo,
class [System.Private.CoreLib]System.Type)
IL_01a3: ldc.i4.s 77
IL_01a5: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_01aa: nop
IL_01ab: ldtoken ConsoleApplication21.Program
IL_01b0: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_01b5: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_01ba: ldstr "Property"
IL_01bf: callvirt instance class [System.Private.CoreLib]System.Reflection.PropertyInfo [System.Private.CoreLib]System.Type::GetProperty(string)
IL_01c4: ldtoken class ConsoleApplication21.SingleAttribute`1<bool>
IL_01c9: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_01ce: call bool [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::IsDefined(class [System.Private.CoreLib]System.Reflection.MemberInfo,
class [System.Private.CoreLib]System.Type)
IL_01d3: ldc.i4.s 78
IL_01d5: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_01da: nop
IL_01db: ldtoken ConsoleApplication21.Program/Derive
IL_01e0: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_01e5: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_01ea: ldc.i4.0
IL_01eb: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo,
bool)
IL_01f0: ldnull
IL_01f1: ceq
IL_01f3: ldc.i4.s 80
IL_01f5: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_01fa: nop
IL_01fb: ldtoken ConsoleApplication21.Program/Derive
IL_0200: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0205: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_020a: ldc.i4.0
IL_020b: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo,
bool)
IL_0210: ldnull
IL_0211: ceq
IL_0213: ldc.i4.s 81
IL_0215: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_021a: nop
IL_021b: ldtoken ConsoleApplication21.Program/Derive
IL_0220: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0225: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_022a: ldtoken class ConsoleApplication21.SingleAttribute`1<int32>
IL_022f: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0234: ldc.i4.0
IL_0235: callvirt instance bool [System.Private.CoreLib]System.Reflection.MemberInfo::IsDefined(class [System.Private.CoreLib]System.Type,
bool)
IL_023a: ldc.i4.0
IL_023b: ceq
IL_023d: ldc.i4.s 82
IL_023f: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0244: nop
IL_0245: ldtoken ConsoleApplication21.Program/Derive
IL_024a: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_024f: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0254: ldtoken class ConsoleApplication21.SingleAttribute`1<bool>
IL_0259: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_025e: ldc.i4.0
IL_025f: callvirt instance bool [System.Private.CoreLib]System.Reflection.MemberInfo::IsDefined(class [System.Private.CoreLib]System.Type,
bool)
IL_0264: ldc.i4.0
IL_0265: ceq
IL_0267: ldc.i4.s 83
IL_0269: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_026e: nop
IL_026f: ldtoken ConsoleApplication21.Program/Derive
IL_0274: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0279: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_027e: ldc.i4.1
IL_027f: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo,
bool)
IL_0284: ldnull
IL_0285: cgt.un
IL_0287: ldc.i4.s 85
IL_0289: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_028e: nop
IL_028f: ldtoken ConsoleApplication21.Program/Derive
IL_0294: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0299: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_029e: ldc.i4.1
IL_029f: call !!0 [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttribute<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo,
bool)
IL_02a4: ldnull
IL_02a5: cgt.un
IL_02a7: ldc.i4.s 86
IL_02a9: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_02ae: nop
IL_02af: ldtoken ConsoleApplication21.Program/Derive
IL_02b4: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_02b9: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_02be: ldtoken class ConsoleApplication21.SingleAttribute`1<int32>
IL_02c3: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_02c8: ldc.i4.1
IL_02c9: callvirt instance bool [System.Private.CoreLib]System.Reflection.MemberInfo::IsDefined(class [System.Private.CoreLib]System.Type,
bool)
IL_02ce: ldc.i4.s 87
IL_02d0: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_02d5: nop
IL_02d6: ldtoken ConsoleApplication21.Program/Derive
IL_02db: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_02e0: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_02e5: ldtoken class ConsoleApplication21.SingleAttribute`1<bool>
IL_02ea: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_02ef: ldc.i4.1
IL_02f0: callvirt instance bool [System.Private.CoreLib]System.Reflection.MemberInfo::IsDefined(class [System.Private.CoreLib]System.Type,
bool)
IL_02f5: ldc.i4.s 88
IL_02f7: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_02fc: nop
IL_02fd: ldtoken ConsoleApplication21.Program
IL_0302: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0307: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_030c: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class [System.Private.CoreLib]System.Attribute> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_0311: callvirt instance class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<!0> class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class [System.Private.CoreLib]System.Attribute>::GetEnumerator()
IL_0316: stloc.0
IL_0317: ldloc.0
IL_0318: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_0'
IL_031d: dup
IL_031e: brtrue.s IL_0337
IL_0320: pop
IL_0321: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0326: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_0'(class [System.Private.CoreLib]System.Attribute)
IL_032c: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0331: dup
IL_0332: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_0'
IL_0337: ldc.i4.s 91
IL_0339: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_033e: nop
IL_033f: ldloc.0
IL_0340: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_1'
IL_0345: dup
IL_0346: brtrue.s IL_035f
IL_0348: pop
IL_0349: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_034e: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_1'(class [System.Private.CoreLib]System.Attribute)
IL_0354: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0359: dup
IL_035a: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_1'
IL_035f: ldc.i4.s 92
IL_0361: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0366: nop
IL_0367: ldloc.0
IL_0368: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_2'
IL_036d: dup
IL_036e: brtrue.s IL_0387
IL_0370: pop
IL_0371: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0376: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_2'(class [System.Private.CoreLib]System.Attribute)
IL_037c: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0381: dup
IL_0382: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_2'
IL_0387: ldc.i4.s 93
IL_0389: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_038e: nop
IL_038f: ldloc.0
IL_0390: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_3'
IL_0395: dup
IL_0396: brtrue.s IL_03af
IL_0398: pop
IL_0399: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_039e: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_3'(class [System.Private.CoreLib]System.Attribute)
IL_03a4: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_03a9: dup
IL_03aa: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_3'
IL_03af: ldc.i4.s 94
IL_03b1: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_03b6: nop
IL_03b7: ldloc.0
IL_03b8: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_4'
IL_03bd: dup
IL_03be: brtrue.s IL_03d7
IL_03c0: pop
IL_03c1: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_03c6: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_4'(class [System.Private.CoreLib]System.Attribute)
IL_03cc: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_03d1: dup
IL_03d2: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_4'
IL_03d7: ldc.i4.s 95
IL_03d9: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_03de: nop
IL_03df: ldloc.0
IL_03e0: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_5'
IL_03e5: dup
IL_03e6: brtrue.s IL_03ff
IL_03e8: pop
IL_03e9: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_03ee: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_5'(class [System.Private.CoreLib]System.Attribute)
IL_03f4: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_03f9: dup
IL_03fa: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_5'
IL_03ff: ldc.i4.s 96
IL_0401: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0406: nop
IL_0407: ldloc.0
IL_0408: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_6'
IL_040d: dup
IL_040e: brtrue.s IL_0427
IL_0410: pop
IL_0411: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0416: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_6'(class [System.Private.CoreLib]System.Attribute)
IL_041c: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0421: dup
IL_0422: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_6'
IL_0427: ldc.i4.s 97
IL_0429: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_042e: nop
IL_042f: ldloc.0
IL_0430: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_7'
IL_0435: dup
IL_0436: brtrue.s IL_044f
IL_0438: pop
IL_0439: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_043e: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_7'(class [System.Private.CoreLib]System.Attribute)
IL_0444: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0449: dup
IL_044a: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_7'
IL_044f: ldc.i4.s 98
IL_0451: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0456: nop
IL_0457: ldloc.0
IL_0458: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_8'
IL_045d: dup
IL_045e: brtrue.s IL_0477
IL_0460: pop
IL_0461: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0466: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_8'(class [System.Private.CoreLib]System.Attribute)
IL_046c: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0471: dup
IL_0472: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_8'
IL_0477: ldc.i4.s 99
IL_0479: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_047e: nop
IL_047f: ldtoken ConsoleApplication21.Program/Derive
IL_0484: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0489: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_048e: ldc.i4.0
IL_048f: callvirt instance object[] [System.Private.CoreLib]System.Reflection.MemberInfo::GetCustomAttributes(bool)
IL_0494: callvirt instance class [System.Private.CoreLib]System.Collections.IEnumerator [System.Private.CoreLib]System.Array::GetEnumerator()
IL_0499: stloc.1
IL_049a: ldloc.1
IL_049b: callvirt instance bool [System.Private.CoreLib]System.Collections.IEnumerator::MoveNext()
IL_04a0: ldc.i4.0
IL_04a1: ceq
IL_04a3: ldc.i4.s 102
IL_04a5: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_04aa: nop
IL_04ab: ldtoken ConsoleApplication21.Program/Derive
IL_04b0: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_04b5: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_04ba: ldc.i4.1
IL_04bb: callvirt instance object[] [System.Private.CoreLib]System.Reflection.MemberInfo::GetCustomAttributes(bool)
IL_04c0: callvirt instance class [System.Private.CoreLib]System.Collections.IEnumerator [System.Private.CoreLib]System.Array::GetEnumerator()
IL_04c5: stloc.2
IL_04c6: ldloc.2
IL_04c7: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_9'
IL_04cc: dup
IL_04cd: brtrue.s IL_04e6
IL_04cf: pop
IL_04d0: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_04d5: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_9'(class [System.Private.CoreLib]System.Attribute)
IL_04db: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_04e0: dup
IL_04e1: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_9'
IL_04e6: ldc.i4.s 105
IL_04e8: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_04ed: nop
IL_04ee: ldloc.2
IL_04ef: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_10'
IL_04f4: dup
IL_04f5: brtrue.s IL_050e
IL_04f7: pop
IL_04f8: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_04fd: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_10'(class [System.Private.CoreLib]System.Attribute)
IL_0503: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0508: dup
IL_0509: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_10'
IL_050e: ldc.i4.s 106
IL_0510: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0515: nop
IL_0516: ldloc.2
IL_0517: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_11'
IL_051c: dup
IL_051d: brtrue.s IL_0536
IL_051f: pop
IL_0520: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0525: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_11'(class [System.Private.CoreLib]System.Attribute)
IL_052b: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0530: dup
IL_0531: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_11'
IL_0536: ldc.i4.s 107
IL_0538: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_053d: nop
IL_053e: ldloc.2
IL_053f: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_12'
IL_0544: dup
IL_0545: brtrue.s IL_055e
IL_0547: pop
IL_0548: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_054d: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_12'(class [System.Private.CoreLib]System.Attribute)
IL_0553: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0558: dup
IL_0559: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_12'
IL_055e: ldc.i4.s 108
IL_0560: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0565: nop
IL_0566: ldloc.2
IL_0567: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_13'
IL_056c: dup
IL_056d: brtrue.s IL_0586
IL_056f: pop
IL_0570: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0575: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_13'(class [System.Private.CoreLib]System.Attribute)
IL_057b: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0580: dup
IL_0581: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_13'
IL_0586: ldc.i4.s 109
IL_0588: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_058d: nop
IL_058e: ldloc.2
IL_058f: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_14'
IL_0594: dup
IL_0595: brtrue.s IL_05ae
IL_0597: pop
IL_0598: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_059d: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_14'(class [System.Private.CoreLib]System.Attribute)
IL_05a3: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_05a8: dup
IL_05a9: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_14'
IL_05ae: ldc.i4.s 110
IL_05b0: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_05b5: nop
IL_05b6: ldloc.2
IL_05b7: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_15'
IL_05bc: dup
IL_05bd: brtrue.s IL_05d6
IL_05bf: pop
IL_05c0: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_05c5: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_15'(class [System.Private.CoreLib]System.Attribute)
IL_05cb: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_05d0: dup
IL_05d1: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_15'
IL_05d6: ldc.i4.s 111
IL_05d8: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_05dd: nop
IL_05de: ldtoken ConsoleApplication21.Program
IL_05e3: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_05e8: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_05ed: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<!!0> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes<class ConsoleApplication21.SingleAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_05f2: callvirt instance class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<!0> class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class ConsoleApplication21.SingleAttribute`1<int32>>::GetEnumerator()
IL_05f7: stloc.3
IL_05f8: ldloc.3
IL_05f9: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_16'
IL_05fe: dup
IL_05ff: brtrue.s IL_0618
IL_0601: pop
IL_0602: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0607: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_16'(class [System.Private.CoreLib]System.Attribute)
IL_060d: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0612: dup
IL_0613: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_16'
IL_0618: ldc.i4.s 114
IL_061a: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_061f: nop
IL_0620: ldtoken ConsoleApplication21.Program
IL_0625: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_062a: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_062f: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<!!0> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes<class ConsoleApplication21.SingleAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_0634: callvirt instance class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<!0> class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class ConsoleApplication21.SingleAttribute`1<bool>>::GetEnumerator()
IL_0639: stloc.s V_4
IL_063b: ldloc.s V_4
IL_063d: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_17'
IL_0642: dup
IL_0643: brtrue.s IL_065c
IL_0645: pop
IL_0646: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_064b: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_17'(class [System.Private.CoreLib]System.Attribute)
IL_0651: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0656: dup
IL_0657: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_17'
IL_065c: ldc.i4.s 117
IL_065e: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0663: nop
IL_0664: ldtoken ConsoleApplication21.Program
IL_0669: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_066e: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0673: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<!!0> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes<class ConsoleApplication21.MultiAttribute`1<int32>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_0678: callvirt instance class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<!0> class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class ConsoleApplication21.MultiAttribute`1<int32>>::GetEnumerator()
IL_067d: stloc.s V_5
IL_067f: ldloc.s V_5
IL_0681: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_18'
IL_0686: dup
IL_0687: brtrue.s IL_06a0
IL_0689: pop
IL_068a: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_068f: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_18'(class [System.Private.CoreLib]System.Attribute)
IL_0695: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_069a: dup
IL_069b: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_18'
IL_06a0: ldc.i4.s 120
IL_06a2: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_06a7: nop
IL_06a8: ldloc.s V_5
IL_06aa: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_19'
IL_06af: dup
IL_06b0: brtrue.s IL_06c9
IL_06b2: pop
IL_06b3: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_06b8: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_19'(class [System.Private.CoreLib]System.Attribute)
IL_06be: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_06c3: dup
IL_06c4: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_19'
IL_06c9: ldc.i4.s 121
IL_06cb: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_06d0: nop
IL_06d1: ldloc.s V_5
IL_06d3: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_20'
IL_06d8: dup
IL_06d9: brtrue.s IL_06f2
IL_06db: pop
IL_06dc: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_06e1: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_20'(class [System.Private.CoreLib]System.Attribute)
IL_06e7: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_06ec: dup
IL_06ed: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_20'
IL_06f2: ldc.i4.s 122
IL_06f4: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_06f9: nop
IL_06fa: ldtoken ConsoleApplication21.Program
IL_06ff: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0704: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0709: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<!!0> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes<class ConsoleApplication21.MultiAttribute`1<bool>>(class [System.Private.CoreLib]System.Reflection.MemberInfo)
IL_070e: callvirt instance class [System.Private.CoreLib]System.Collections.Generic.IEnumerator`1<!0> class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class ConsoleApplication21.MultiAttribute`1<bool>>::GetEnumerator()
IL_0713: stloc.s V_6
IL_0715: ldloc.s V_6
IL_0717: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_21'
IL_071c: dup
IL_071d: brtrue.s IL_0736
IL_071f: pop
IL_0720: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_0725: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_21'(class [System.Private.CoreLib]System.Attribute)
IL_072b: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0730: dup
IL_0731: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_21'
IL_0736: ldc.i4.s 125
IL_0738: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_073d: nop
IL_073e: ldloc.s V_6
IL_0740: ldsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_22'
IL_0745: dup
IL_0746: brtrue.s IL_075f
IL_0748: pop
IL_0749: ldsfld class ConsoleApplication21.Program/'<>c' ConsoleApplication21.Program/'<>c'::'<>9'
IL_074e: ldftn instance bool ConsoleApplication21.Program/'<>c'::'<Main>b__5_22'(class [System.Private.CoreLib]System.Attribute)
IL_0754: newobj instance void class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool>::.ctor(object,
native int)
IL_0759: dup
IL_075a: stsfld class [System.Private.CoreLib]System.Func`2<class [System.Private.CoreLib]System.Attribute,bool> ConsoleApplication21.Program/'<>c'::'<>9__5_22'
IL_075f: ldc.i4.s 126
IL_0761: call void ConsoleApplication21.Program::AssertNext<class [System.Private.CoreLib]System.Attribute>(class [System.Private.CoreLib]System.Collections.IEnumerator,
class [System.Private.CoreLib]System.Func`2<!!0,bool>,
int32)
IL_0766: nop
IL_0767: ldtoken ConsoleApplication21.Program
IL_076c: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0771: call class [System.Private.CoreLib]System.Reflection.TypeInfo [System.Private.CoreLib]System.Reflection.IntrospectionExtensions::GetTypeInfo(class [System.Private.CoreLib]System.Type)
IL_0776: ldtoken ConsoleApplication21.MultiAttribute`1
IL_077b: call class [System.Private.CoreLib]System.Type [System.Private.CoreLib]System.Type::GetTypeFromHandle(valuetype [System.Private.CoreLib]System.RuntimeTypeHandle)
IL_0780: call class [System.Private.CoreLib]System.Collections.Generic.IEnumerable`1<class [System.Private.CoreLib]System.Attribute> [System.Private.CoreLib]System.Reflection.CustomAttributeExtensions::GetCustomAttributes(class [System.Private.CoreLib]System.Reflection.MemberInfo,
class [System.Private.CoreLib]System.Type)
IL_0785: ldnull
IL_0786: ceq
IL_0788: ldc.i4 0x80
IL_078d: call void ConsoleApplication21.Program::Assert(bool,
int32)
IL_0792: nop
IL_0793: ret
} // end of method Program::Main
.method private hidebysig static void Assert(bool condition,
[opt] int32 line) cil managed
{
.param [2] = int32(0x00000000)
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 33 (0x21)
.maxstack 2
.locals init (bool V_0)
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldc.i4.0
IL_0003: ceq
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: brfalse.s IL_0020
IL_0009: nop
IL_000a: ldstr "Error in line: {0}"
IL_000f: ldarg.1
IL_0010: box [System.Private.CoreLib]System.Int32
IL_0015: call string [System.Private.CoreLib]System.String::Format(string,
object)
IL_001a: newobj instance void [System.Private.CoreLib]System.Exception::.ctor(string)
IL_001f: throw
IL_0020: ret
} // end of method Program::Assert
.method private hidebysig static void AssertNext<T>(class [System.Private.CoreLib]System.Collections.IEnumerator source,
class [System.Private.CoreLib]System.Func`2<!!T,bool> func,
[opt] int32 line) cil managed
{
.param [3] = int32(0x00000000)
.custom instance void [System.Private.CoreLib]System.Runtime.CompilerServices.CallerLineNumberAttribute::.ctor() = ( 01 00 00 00 )
// Code size 56 (0x38)
.maxstack 2
.locals init (bool V_0)
IL_0000: nop
IL_0001: ldarg.0
IL_0002: callvirt instance bool [System.Private.CoreLib]System.Collections.IEnumerator::MoveNext()
IL_0007: pop
IL_0008: ldarg.1
IL_0009: ldarg.0
IL_000a: callvirt instance object [System.Private.CoreLib]System.Collections.IEnumerator::get_Current()
IL_000f: unbox.any !!T
IL_0014: callvirt instance !1 class [System.Private.CoreLib]System.Func`2<!!T,bool>::Invoke(!0)
IL_0019: ldc.i4.0
IL_001a: ceq
IL_001c: stloc.0
IL_001d: ldloc.0
IL_001e: brfalse.s IL_0037
IL_0020: nop
IL_0021: ldstr "Error in line: {0}"
IL_0026: ldarg.2
IL_0027: box [System.Private.CoreLib]System.Int32
IL_002c: call string [System.Private.CoreLib]System.String::Format(string,
object)
IL_0031: newobj instance void [System.Private.CoreLib]System.Exception::.ctor(string)
IL_0036: throw
IL_0037: ret
} // end of method Program::AssertNext
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 8 (0x8)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [System.Private.CoreLib]System.Object::.ctor()
IL_0006: nop
IL_0007: ret
} // end of method Program::.ctor
.property instance int32 Property()
{
.custom instance void class ConsoleApplication21.SingleAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.SingleAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor(!0) = ( 01 00 01 00 00 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<int32>::.ctor() = ( 01 00 01 00 54 08 05 56 61 6C 75 65 02 00 00 00 ) // ....T..Value....
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor() = ( 01 00 00 00 )
.custom instance void class ConsoleApplication21.MultiAttribute`1<bool>::.ctor(!0) = ( 01 00 01 00 00 )
.get instance int32 ConsoleApplication21.Program::get_Property()
.set instance void ConsoleApplication21.Program::set_Property(int32)
} // end of property Program::Property
} // end of class ConsoleApplication21.Program
// =============================================================
// *********** DISASSEMBLY COMPLETE ***********************
// WARNING: Created Win32 resource file Program.res
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment