Today, I tracked a really bad boy down which caused very weird failures of gmcs compiled assemblies on the MS runtime. So, while looking at the following example, I made some interesting obervations:
.class interface private abstract auto ansi 'IFoo`1'<T>
and
.class private auto ansi beforefieldinit 'Foo`1'<T>
extends [mscorlib]System.Object
implements class 'IFoo`1'<!T>
.method private hidebysig newslot virtual final instance void 'IFoo<T>.Test'<u>(!T t, !!U u) cil managed
Note that this does not include the generic arity like in the class name.
.override method instance void class 'IFoo`1'<!T>::Test<[1]>(!0,!!U)