Why does the runtime shows the generic types as "GenericType`n"?
.net, generics, reflection, types
Solution
The `1 is MSIL syntax for a generic type - `List<T>` is C#-specific. More MSIL examples:
List<T> == System.Collections.Generic.List`1
List<string> == System.Collections.Generic.List`1[System.String]
Dictionary<string, int> ==
System.Collections.Generic.Dictionary`2[System.String, System.Int32]
Problem
And why doesn't it shows the real type (eg: List<string> instead of List`1)? Where does this strange (to me) notation comes from?