[Mono-dev] Generic type naming

Robert Jordan robertj at gmx.net
Tue Mar 6 02:26:13 EST 2007

David Mitchell wrote:
> My apologies if I am dredging up an issue that has already been resolved and
> put to rest, but my curiosity compels me to do so.
> I have noticed that Mono's algorithms for providing names to specific
> generic types is significantly different to that of Microsoft's
> implementation of .Net. Where Microsoft's implementation usually has lots of
> fancy angle brackets and full type listings of the arguments, Mono often has
> weird accent marks and numbers.

Like Mono, MS uses the accent marks as well. For example,
Dictionary`2[K, T] denotes the non-instantiated generic type
Dictionary<K, T> (C# notation), whereas Dictionary`2[[String, Int32]]
is an instantiated Dictionary<string, int> (C# notation).

When full names are requested, the type names become ever weirder:

		System.String, mscorlib,
		Version=, Culture=neutral,
		System.Int32, mscorlib, Version=,
		Culture=neutral, PublicKeyToken=b77a5c561934e089

> Is this difference between the two implementations the result of an
> architectural decision, developer laziness (hey, the best developers are all
> a bit lazy, right?), or of something in between the two extremes?

There should be no differences. Please file bugs if you find some.


More information about the Mono-devel-list mailing list