動態型別
dynamic
關鍵字宣告一個在編譯時未知型別的變數。dynamic
變數可以包含任何值,並且值的型別可以在執行時更改。
正如“.NET 中的超程式設計”一書所述,C#沒有 dynamic
關鍵字的支援型別:
dynamic
關鍵字啟用的功能是一組聰明的編譯器操作,它們在本地執行範圍的站點容器中發出和使用CallSite
物件。編譯器管理程式設計師通過那些CallSite
例項感知的動態物件引用。在編譯時獲得動態處理的引數,返回型別,欄位和屬性可以用一些後設資料標記,以指示它們是為動態使用而生成的,但它們的基礎資料型別將始終為System.Object
。