回答
它是C#4.0語言的一部分,所以不是真的。
您可以使用FXCop來查找它,如果遇到它,則會失敗。
風格警察可能代替工作:
http://code.msdn.microsoft.com/sourceanalysis
這裏是談論同樣的問題,以及如何風格警察可能是答案的鏈接。還有一篇關於如何讓FX警察潛在尋找動態關鍵字的文章,儘管它並不完美。
http://social.msdn.microsoft.com/Forums/en/vstscode/thread/8ce407ba-bdf7-422b-bbcd-ca4701c3a76f
我會試試這個。 – chief7 2010-05-07 20:51:31
事實證明,FxCop可以通過DynamicAttribute找到動態類級字段,方法參數和方法返回,但是在方法b/c中找不到本地變量,因爲它們被轉換爲沒有任何屬性的對象。 – chief7 2010-05-12 18:57:16
@ cheif7我做了一些更多的外觀和風格的警察可能是要走的路。我發佈了一些關於同一問題的帖子的鏈接。 – kemiller2002 2010-05-12 20:27:51
Target .net 1.0? :-)
或者做代碼評論。
(或者,少開玩笑,應該是很容易編寫自定義的FxCop或CA規則不允許使用動態)
難道你剛纔殺了C++的宏嗎? :-)
#define動態對象 – 2010-05-07 20:41:39
動態關鍵字不是邪惡的,但使用它可能是。
它導致您只能在運行時找到代碼錯誤。 這應該避免不惜一切代價。 運行時錯誤是不好的。編譯時間錯誤很好。
您可以使用類似下面的內容來設置自己的標準。 http://joel.fjorden.se/static.php?page=CodeStyleEnforcer
反射也是如此。雖然沒有人會反思,但它只是一種理解,它是一個非常具體的工具,用於一個非常具體的工作,並且有時,perf的打擊和缺乏編譯時間的錯誤是值得的,因爲實際上沒有其他方法可以確定種類的東西。動態的同上。在任何地方默認使用它都是無稽之談,但同時,有一些類型的東西需要權衡。 – 2010-06-18 13:26:30
從磁盤讀取可能無效的文件,或者假設存在註冊表或配置文件等,也是「僅在運行時發現的」。 :-) – 2012-04-17 00:51:13
刪除對Microsoft.CSharp.dll
的引用,我認爲dynamic
的所有用法都可能無法編譯。
我不確定我明白這對動態關鍵字的非理性恐懼是什麼。這種類型的歇斯底里超過匿名變量和var關鍵字的.NET 3.5,除了那只是白癡,因爲那些是合法的靜態定義類型。
動態關鍵字提供了一個高度專業化的目的,我不明白爲什麼任何人會有理由使用它,而不理解爲什麼。但是,通過1次團隊會議解釋.NET 4的一些新功能,包括動態關鍵字,可以解決這一問題。我假設你更多的是團隊中的高級或高級主管;應該很容易告訴你的團隊他們是否覺得他們需要使用動態關鍵字來看你第一。
這正是我給我團隊的指示,因爲我發現不太可能使用動態關鍵字,因爲我們不寫COM互操作活動。過去我會將任何類型的動態代理服務器推遲到像Linfu或Castle這樣的已建立的庫中,並且將動態代理服務器的實現留給他們使用或不使用動態關鍵字。
我相信,動態可以用於超過COM互操作.... – Amir 2012-12-28 21:41:50
- 1. C#動態關鍵字和Javascript
- 2. 與動態關鍵字
- 3. .NET 4.0 - 「動態」關鍵字
- 4. 動態關鍵詞C#4.0
- 5. 新的'動態'C#4.0關鍵字是否棄用'var'關鍵字?
- 6. 動態關鍵字啓用「也許」monad?
- 7. 動態關鍵字是否僅用於動態語言?
- 8. c#關鍵字
- 9. C++多態性和新的關鍵字
- 10. c中的靜態關鍵字#
- 11. Firefox - 禁用「調試器」關鍵字
- 12. 禁用AND和OR關鍵字
- 13. Python中的動態關鍵字參數?
- 14. 對於動態關鍵字沒有intellisense?
- 15. 動態LINQ中的SQL Like關鍵字
- 16. 動態獲取magento meta關鍵字?
- 17. 關於帶關鍵字的靜態關鍵字的問題
- 18. C++關鍵字使用
- 19. const關鍵字使用C++
- 20. 如何在Visual C++ Express 2008上禁用interface關鍵字?
- 21. C#4動態關鍵字 - 如何設置自定義屬性
- 22. C# - 動態關鍵字和接口實現
- 23. 方法重載和C#中的動態關鍵字
- 24. C#繼承與泛型和動態關鍵字
- 25. C#4.0'動態'關鍵字的優點和缺點?
- 26. c#Linq關鍵字?
- 27. 禁用自動關閉模態形式
- 28. 使用params關鍵字與動態類型參數
- 29. 使用帶有「null」關鍵字的「is」關鍵字c#7.0
- 30. 禁用十字鍵
爲什麼?動態沒有什麼壞處。 – 2010-05-07 20:20:07
您是否試圖在開發團隊中強制執行此操作?在那種情況下,我建議兩個工具:grep和一個板球棒。 – 2010-05-07 20:22:16
板球蝙蝠?來吧,牛鞭更有效。 http://www.enasco.com/product/C13638N – 2010-05-07 20:29:24