C#Reflection Type.Name仅包含非泛型类的通用括号

Dag*_*oms 0 c# generics reflection

我正在反思的一个集会中有一节课:

public class Example
{
    public List<int> things;
}
Run Code Online (Sandbox Code Playgroud)

当反射装配和抓取类型时.名称:

foreach(var type in typeof(Example).Assembly.GetTypes())
    var hold = type.Name;
Run Code Online (Sandbox Code Playgroud)

存储在变量hold中的只是通用括号<>,而type.FullName是Example+<>.到底是怎么回事?这适用于程序集中的每个其他类.这个类确实有两个部分文件,但它们都没有定义为通用文件.

SLa*_*aks 5

这些类型由编译器生成,以帮助您的代码工作.

它们来自lambda,迭代器或匿名类型.