[Mono-dev] System.Reflection and C# compiler differences between Mono and .NET.

Jonathan Pryor jonpryor at vt.edu
Sat Jun 9 21:24:15 EDT 2007


On Fri, 2007-06-08 at 07:46 -0400, Jonathan Pryor wrote:
> Mono's (g)mcs produces different metadata for explicitly-implemented
> interface members than CSC does.  Thus, a question:
> 
> Should these differences be considered to be Mono bugs?

<snip/>

> 2. Generics: gmcs produces significantly different member names compared
> to CSC:
> 
>   gmcs: System.Collections.Generic.IEnumerable`1[[Foo, test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]].GetEnumerator
>    CSC: System.Collections.Generic.IEnumerator<Foo>.Current
> 
> As you can see, generic parameter handling is quite different -- 
> <Foo> vs. `1[[Foo, test, Version=0.0.0.0, Culture=neutral,
> PublicKeyToken=null]].  The same generic parameter handling difference 
> exists for properties as well as methods.

Another interesting point is that Mono 1.1.18.1 (as supplied by openSUSE
10.2) follows the CSC behavior for generic methods/properties.  So the
current Mono behavior is a somewhat recent change...

 - Jon





More information about the Mono-devel-list mailing list