2 // Microsoft (R) .NET Framework IL Disassembler. Version 4.6.1055.0
3 // Copyright (c) Microsoft Corporation. All rights reserved.
7 // Metadata version: v4.0.30319
8 .assembly extern mscorlib
11 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..
15 .custom instance void class [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::'.ctor'(int32) = (01 00 08 00 00 00 00 00 ) // ........
17 .custom instance void class [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::'.ctor'() = (
18 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx
19 63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.
21 .custom instance void class [mscorlib]System.Diagnostics.DebuggableAttribute::'.ctor'(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = (01 00 07 01 00 00 00 00 ) // ........
23 .hash algorithm 0x00008004
26 .module sealed.exe // GUID = {A4E97AD7-126F-4034-838B-627DE47F9E63}
29 .class interface private auto ansi abstract I1
33 .method public hidebysig
34 instance default void M1 () cil managed
36 // Method begins at RVA 0x2050
41 IL_0006: call void class [mscorlib]System.Console::WriteLine(string)
44 } // end of method I1::M1
48 .class interface private auto ansi abstract I2
52 .method public static hidebysig
53 default void Test<(class I2) T> (!!T x) cil managed
55 // Method begins at RVA 0x205e
56 // Code size 16 (0x10)
60 IL_0003: constrained. !!0
61 IL_0009: callvirt instance void class I1::M1()
64 } // end of method I2::Test
68 .class private auto ansi beforefieldinit A
69 extends [mscorlib]System.Object
73 .method private static hidebysig
74 default void Main () cil managed
76 // Method begins at RVA 0x206f
81 IL_0001: newobj instance void class A::'.ctor'()
82 IL_0006: call void class I2::Test<class A> (!!0)
85 } // end of method A::Main
88 .method public hidebysig specialname rtspecialname
89 instance default void '.ctor' () cil managed
91 // Method begins at RVA 0x207d
95 IL_0001: call instance void object::'.ctor'()
98 } // end of method A::.ctor