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

时间:2016-11-02 19:38:35

标签: c# generics reflection

我在一个我正在反思的集会中有一个班级:

public class Example
{
    public List<int> things;
}

反射装配并抓取type.Name:

foreach(var type in typeof(Example).Assembly.GetTypes())
    var hold = type.Name;

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

1 个答案:

答案 0 :(得分:5)

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

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