Microsoft.CSharp需要使用dynamic
功能。
我明白裝配中有粘合劑,評估者和助手。
但爲什麼它必須是語言特定的?
爲什麼選擇Microsoft.CSharp而不是Microsoft.Dynamic或System.Dynamic?爲什麼「動態」需要特定於語言的運行時組件?
請解釋。
假設我們有d.x
其中d
是dynamic
。
C#編譯器
1.適用於C#語言規則
2.獲取 「屬性或字段訪問」
3.發射(figurally)Binder.GetPropertyOrField(d, 「X」)
現在,被要求引用微軟.CSharp可能會讓人認爲語言不可知的綁定器無法處理這種情況,而C# - 只有某些東西通過編譯得到了方法,並且需要特殊的庫。
編譯器有一個糟糕的一天?
因爲它是針對[System.Dynamic](http://msdn.microsoft.com/zh-cn/library/system.dynamic(v = vs.110).aspx)編譯的C#特定運行時編譯器部件),基本上。 – CodeCaster 2014-10-30 10:10:22
@CodeCaster當然,當然。但爲什麼還有一些東西需要「未編譯」來需要特定於語言的運行時編譯器部分?你有一個例子嗎? – Leonid 2014-10-30 10:35:07