2009-01-13 116 views
2

在他的PDC談話中,Anders表示動態關鍵字會在運行時調度對其進行的任何函數調用。.NET 4.0 - 「動態」關鍵字

然後,他繼續說,在編譯時檢查「dynamic」關鍵字本身是靜態類型的。

現在,如果您要調用一個不存在於「動態」類型的方法 - 是否會導致運行時錯誤?

將C#4.0語言稱爲靜態類型檢查語言是正確的嗎?

還是我在這個演講中沒有得到安德雷斯所說的?

回答

4

C#仍然有靜態類型檢查,但有趣的是,說引用的靜態類型是「動態的」。 IIRC dynamic的實際類型是object,帶有一個特殊的IL標誌來指示它是動態解析的。當然,如果實際類型不支持給定的操作,則會引發異常。