What's the meaning of "apostrophe + number" in the object type of properties with generics (eg. "Collection`1")?

Viewed 2740

I have an object (MyObject) with a property (MyProperty). I want to get it's type name (i.e. String or MyClass etc.). I use:

PropertyInfo propInfo = typeof(MyObject).GetProperty("MyProperty");
Console.WriteLine(propInfo.PropertyType.Name);
Console.WriteLine(propInfo.PropertyType.FullName);

No problem with simple types, but when MyProperty is a generic type, I face problems on getting it's name (e.g. Collection<String>). It prints:

Collection`1

System.Collections.ObjectModel.Collection`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

What is that `1? And how can I obtain "Collection<String>"?

3 Answers
Related