C#中「動態」關鍵字的用途是什麼?爲什麼我需要或不想使用它?C#中「動態」關鍵字的用途是什麼?
回答
在靜態類型的世界裏,動態爲開發人員提供了很多繩索來掛起自己。處理編譯時可以知道類型的對象時,應該不惜一切代價避免動態關鍵字。靜態打字時,動態不會形成有意義的針跡。如果您正在處理未知或動態類型,通常需要通過反射與它進行通信。反射代碼不容易閱讀,並且具有上述動態類型的所有缺陷。在這種情況下,動態變得很有意義。
在底層中,動態類型編譯爲包裹反射碼,除非對象是一個COM對象(在這種情況下,操作是通過IDispatch動態調用)或對象實現IDynamicObject接口,其通過IronPython的廣泛使用IronRuby以及即將推出的API。
更多的MSDN
感謝您的回覆。 –
@Jaguar Hallu Hallu –
它被引入允許與動態語言進行更簡單的互操作。我個人不推薦使用它,除非你打算用動態編寫的代碼進行接口,或者如果你有一個非常具體的理由要做。
。 –
- 1. C++中'和','或'等關鍵字的用途是什麼?
- 2. C#關鍵字固定/不安全的用途是什麼?
- 3. 聯合中的「受保護」關鍵字的用途是什麼?
- 4. 方法參數中有final關鍵字的用途是什麼?
- 5. 在Ethereum Solidity中,「memory」關鍵字的用途是什麼?
- 6. Kotlin中`external`關鍵字的用途是什麼?
- 7. Vala中「ref」和「out」關鍵字的用途是什麼?
- 8. QML中默認關鍵字的用途是什麼?
- 9. DROOLS中'package'關鍵字的用途是什麼?
- 10. C#中的Register關鍵字是什麼?
- 11. C++中的explicit關鍵字是什麼?
- 12. SQL關鍵字「AS」的用途是什麼?
- 13. 什麼是靜態方法來實現「這個」關鍵字的正確途徑
- 14. C#中屬性的用途是什麼?
- 15. c#中backgroundworker的用途是什麼?
- 16. 「event」的用途關鍵字
- 17. Windows +空格鍵的用途是什麼?
- 18. Mysql索引鍵的用途是什麼?
- 19. 什麼是C#「checked」關鍵字?
- 20. 鑑於JavaScript已關閉,此關鍵字的用途究竟是什麼?
- 21. 在這個Clojure doto宏示例中,printed關鍵字的用途是什麼?
- 22. C#中外部靜態構造函數的用途是什麼?
- 23. C++中靜態類的用途是什麼?
- 24. 新的'動態'C#4.0關鍵字是否棄用'var'關鍵字?
- 25. -m開關的用途是什麼?
- 26. 多態類型的用途是什麼?
- 27. 瞬態變量的用途是什麼?
- 28. 在visual c中使用的fastcall關鍵字是什麼?
- 29. C#中global ::關鍵字的用法是什麼?
- 30. C#中`default`關鍵字的用法是什麼?
你的意思主要_purpose_?這可能是爲了緩解COM互操作(就像其他功能,如命名和可選參數),但我沒有任何規範的來源,雖然我記得讀過它。我相信Google博士可以幫忙。 –
很有意思。爲什麼兩個投票反對?我的問題出了什麼問題? –
@BehnamEsmaili - 不是我的失望,但很可能是因爲已經有幾篇關於這個的帖子。 –