9
由于匿名类型的名称是编译器生成的,所以可以通过反射访问吗?c#中的匿名类型是否可以通过反射访问?
由于匿名类型的名称是编译器生成的,所以可以通过反射访问吗?c#中的匿名类型是否可以通过反射访问?
是的。就CLR /框架而言,它们是正常类型。事实上,你可以做一些interesting things与匿名类型反射...
目前的C#编译器实际上创建了一个通用型的,所以这两个匿名类型的都只是有不同类型的“富”属性将共享一个通用类型,但具有不同的封闭类型。
我猜编译器给了匿名类型一个名字,我说得对吗? – Benny 2010-02-10 06:38:15
@Benny:是的。它给了它一个*无法形容的名字* - 对CLR有效,但对其他C#代码无效,所以它不能引入命名冲突。 – 2010-02-10 07:01:56
它的名字应该是* unspeakable * - 大声笑 – IAbstract 2010-02-10 07:38:39