C# 编译.NET程序集时,哪些类的名称中有x_uu?

C# 编译.NET程序集时,哪些类的名称中有x_uu?,c#,.net,C#,.net,例如: studentregistrationservice\uuu DisplayClass1 f_uu匿名类型56`2 DocShareClassificationd\uu 2 我相当肯定studentregistrationservicecdisplayclas1是一个闭包,并且f\uu匿名类型56`2是在指定匿名类型时生成的,但我以前从未见过d\uu类。除了这些,还有其他吗?是在编译时使用匿名类型创建的类这些是由C#编译器生成的类,以便至少支持以下功能 闭包/匿名方法表达式 匿名类

例如:

  • studentregistrationservice\uuu DisplayClass1
  • f_uu匿名类型56`2
  • DocShareClassificationd\uu 2

我相当肯定
studentregistrationservicecdisplayclas1
是一个闭包,并且
f\uu匿名类型56`2
是在指定匿名类型时生成的,但我以前从未见过
d\uu
类。除了这些,还有其他吗?

是在编译时使用匿名类型创建的类

这些是由C#编译器生成的类,以便至少支持以下功能

  • 闭包/匿名方法表达式
  • 匿名类型
  • 迭代器

d_uu2
one很可能是一个迭代器帮助类

IIRC它是为迭代器块生成的类。但是,您应该对这些名称做出任何假设或依赖它们-这是实施细节,可能会在任何时候更改

为什么这很重要?我的意思是,列出未来版本或服务包中可能会更改的内部未记录的内容不会带来太多价值,因为我们无论如何都不应该依赖它们。我在PartCover测试覆盖率结果中看到了它们,并想知道哪些(如果有的话)足够重要,可以包含在覆盖率报告中。@Jeremy,我会排除任何标记有
编译器生成的
属性的方法。这是的副本-有关详细信息,请参阅我的答案。谢谢Eric,你的答案正是我想要的,但我不知道该搜索什么