有沒有人有任何提示在C#對象初始化程序塊中調試異常?對象初始化程序的語法基本上是全部或全部,這可能使得在LINQ查詢中排除故障特別困難。除了將對象創建分解爲單獨的方法之外,有什麼我可以做的以查看哪些屬性設置器正在拋出異常?調試C#對象初始化程序
10
A
回答
13
禁用跨越屬性設置器的選項[跳過屬性和運算符(僅限管理)]可以允許您插入屬性設置器。
否則,最好的選擇通常是將它分解出來,並在LINQ語句之外進行調試。你可以將你的初始化參數封裝到linq中的匿名類型中,並且爲了調試的目的在你的linq語句之外構造你的對象。
1
將它從單獨設置每個屬性的對象初始化程序塊中分離出來。這樣你才能真正進入代碼。
4
當你拋出一個異常時,你是否設置了VS來中斷? (默認只打破未處理的異常)。調試|例外情況,並檢查「拋出」。
這本身可能不是您的問題的答案,但它可能有助於調試。除此之外,您可以暫時將代碼從初始化程序塊中取出(僅用於調試),然後如果需要,可以在代碼正常工作後恢復初始化程序塊。
相關問題
- 1. C#3.0 - 對象初始化程序
- 2. C#對象初始化程序
- 3. C++對象初始化
- 4. 對象初始化(C++)
- 5. C#初始化對象
- 6. C#初始化對象
- 7. 調試初始化程序的問題?
- 8. 如何引用在初始化程序中用c#初始化的對象?
- 9. 使用對象初始化程序初始化對象時添加DataCollection屬性
- 10. 自定義對象初始化程序
- 11. iTextSharp對象初始化程序
- 12. C#在程序啓動時實例化/初始化對象
- 13. 初始化對象
- 14. 對象初始化
- 15. 初始化對象
- 16. 初始化對象
- 17. 對象初始化
- 18. Guice在初始化對象後調用初始化方法
- 19. GridSearchCV是否調用管道中對象的初始化程序?
- 20. Objective-C - 初始化已經初始化的對象?
- 21. C#對象初始化程序:從另一個設置屬性
- 22. C#對象初始化程序和構造函數
- 23. 嘗試捕捉對象初始化
- 24. 初始化父對象後初始化相關的對象
- 25. 對象初始化沒有「新」C++
- 26. C++ - 如何重複初始化對象?
- 27. C++初始化對象數組
- 28. 在C lambda函數初始化對象++
- 29. C++初始化類成員對象
- 30. c中的對象重新初始化#
您能解釋一下「將初始化參數包裝成匿名類型」是什麼意思嗎?我會以某種方式將匿名類型傳遞給構造函數,還是隻創建一個實用工廠方法來分配屬性? – technomalogical 2009-05-18 16:55:23