2010-02-10 10 views

Antwort

14

Ja. Soweit es das CLR/Framework betrifft, handelt es sich um normale Typen. In der Tat, können Sie einige interesting things mit Reflexion auf anonymen Typen tun ...

Die aktuelle C# Compiler tatsächlich einen obwohl generic Typen erzeugt, so dass zwei anonyme Typen, die beide nur eine „Foo“ Eigenschaft verschiedenen Typen haben teilen einen generischen Typ, haben aber verschiedene geschlossene Typen.

+0

Ich denke, der Compiler geben dem anonymen Typ einen Namen, bin ich richtig? – Benny

+4

@Benny: Ja. Es gibt ihm einen * unaussprechlichen Namen * - einen, der für die CLR gültig ist, aber nicht für anderen C# -Code, also kann er keine Namenskollisionen einführen. –

+4

Und sein Name soll * unaussprechlich sein * - lol – IAbstract