1.assembly extern mscorlib 2{ 3 .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4.. 4 .ver 2:0:0:0 5} 6.assembly 'generics-variant-types' 7{ 8 .hash algorithm 0x00008004 9 .ver 0:0:0:0 10} 11.module 'generics-variant-types' 12 13// MVID: {8F67D18D-2212-4FF0-A9F5-5F954C42FCFA} 14.imagebase 0x00400000 15.file alignment 0x00000200 16.stackreserve 0x00100000 17.subsystem 0x0003 // WINDOWS_CUI 18.corflags 0x00000001 // ILONLY 19// Image base: 0x00F10000 20 21// 22// A Covariant interface 23// 24.class interface public abstract auto ansi beforefieldinit MyIEnumerator`1<+T> 25{ 26 .method public hidebysig abstract virtual instance bool MoveNext() cil managed 27 { 28 } 29 30 .method public hidebysig abstract virtual instance !T get_Current () cil managed 31 { 32 } 33 34 .property !T Current() 35 { 36 .get instance !T MyIEnumerator`1::get_Current() 37 } 38} 39 40// 41// A Contravariant interface 42// 43.class interface public abstract auto ansi beforefieldinit IComparer`1<-T> 44{ 45 .method public hidebysig abstract virtual instance bool Compare(!T x, !T y) cil managed 46 { 47 } 48} 49 50.class interface public abstract auto ansi beforefieldinit IKeyComparer`1<-T> implements class IComparer`1<!T> 51{ 52} 53 54