2012-06-15 36 views
-2

C#中「動態」關鍵字的用途是什麼?爲什麼我需要或不想使用它?C#中「動態」關鍵字的用途是什麼?

+0

你的意思主要_purpose_?這可能是爲了緩解COM互操作(就像其他功能,如命名和可選參數),但我沒有任何規範的來源,雖然我記得讀過它。我相信Google博士可以幫忙。 –

+0

很有意思。爲什麼兩個投票反對?我的問題出了什麼問題? –

+0

@BehnamEsmaili - 不是我的失望,但很可能是因爲已經有幾篇關於這個的帖子。 –

回答

4

在靜態類型的世界裏,動態爲開發人員提供了很多繩索來掛起自己。處理編譯時可以知道類型的對象時,應該不惜一切代價避免動態關鍵字。靜態打字時,動態不會形成有意義的針跡。如果您正在處理未知或動態類型,通常需要通過反射與它進行通信。反射代碼不容易閱讀,並且具有上述動態類型的所有缺陷。在這種情況下,動態變得很有意義。

在底層中,動態類型編譯爲包裹反射碼,除非對象是一個COM對象(在這種情況下,操作是通過IDispatch動態調用)或對象實現IDynamicObject接口,其通過IronPython的廣泛使用IronRuby以及即將推出的API。

更多的MSDN

+0

感謝您的回覆。 –

+0

@Jaguar Hallu Hallu –

3

它被引入允許與動態語言進行更簡單的互操作。我個人不推薦使用它,除非你打算用動態編寫的代碼進行接口,或者如果你有一個非常具體的理由要做。

+0

。 –

相關問題