Why is the source of the List<T> class named List'1.cs?

.net, c#, visual-studio-2010

Solution

In the CLR, that's the default way to annotate generic types. List`1 means that this class has one generic type parameter. The brackets are just a C# thing, also they are not valid as file names.

Problem

When I press Ctrl and click on List in VS2010, List'1.cs file is opened, and the file contains the method headers and the summary comments, The question is, why thy didn't name that file List(T).cs or List{T}.cs or List[T].cs? Why the naming convention List'1.cs, is that standard?

Original source

Related problems