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