views:

108

answers:

1

As the name of the anonymous type is compiler generated, so is it accessible through reflection?

+5  A: 

Yes. As far as the CLR/framework is concerned, they're normal types. In fact, you can do some interesting things with reflection on anonymous types...

The current C# compiler actually creates a generic type though, so that two anonymous types which both just have a "Foo" property of different types will share a generic type, but have different closed types.

Jon Skeet
I guess the compiler give the anonymous type a name, am i right?
Benny
@Benny: Yes. It gives it an *unspeakable name* - one which is valid to the CLR, but not to other C# code, so it can't introduce naming collisions.
Jon Skeet
And it's name shall be *unspeakable* - lol
dboarman