[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.Collections.Generic.Dictionary`2
[
	[
		System.String, mscorlib,
		Version=2.0.0.0, Culture=neutral,
		PublicKeyToken=b77a5c561934e089
	],
	[
		System.Int32, mscorlib, Version=2.0.0.0,
		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.

Robert




More information about the Mono-devel-list mailing list