Tôi đã sử dụng công cụ xsd.exe để tạo một lớp dựa trên lược đồ xml của tôi. Nó tạo ra một lớp công khai một phần với DebuggerStepThroughAttribute. Vâng, tôi đã tạo một tệp lớp học khác cho lớp này để viết mã tùy chỉnh của tôi và muốn có thể bước vào mã này mà tôi đã viết nhưng có vẻ trình gỡ rối đang áp dụng thuộc tính bước qua cho lớp một phần của tôi là tốt. Có cách nào dễ dàng cho tôi để bước vào mã của tôi mà không cần loại bỏ các thuộc tính mỗi lần tôi tạo lại một phần lớp?Ngăn không cho DebuggerStepThroughAttribute áp dụng cho lớp không phải do tôi tạo ra xsd?
17
A
Trả lời
11
- Bạn có thể làm cho trình gỡ lỗi bỏ qua thuộc tính này trong Tools-> Options-> Debugger-> General. Bỏ chọn "Chỉ kích hoạt mã của tôi (Chỉ quản lý)".
- Bạn cũng có thể chỉ sử dụng lớp từng phần làm trình bao bọc cho một lớp/phương pháp khác. Các phương thức trong lớp một phần sẽ chỉ là các nhánh để gọi các phương thức thực tế trong lớp mới. Trình gỡ lỗi sẽ bỏ qua phương thức được trang trí với thuộc tính nhưng vẫn cho phép bạn bước qua lớp mà chúng bao bọc. Ví dụ dưới đây ...
//
[DebuggerStepThrough]
static void DebuggerStepThroughInPartialClass()
{
WrappedClass.NonDebuggerStepThrough();
}
class WrappedClass{
static void NonDebuggerStepThroughInNewClass()
{
int bar = 0;
bar++;
}
}
0
Cách tốt nhất là chỉ cần loại bỏ các dòng thuộc tính từ mã được tạo. Cách dễ nhất IMHO đang sử dụng bí danh trên cửa sổ lệnh.
dụ:
1) Mở cửa sổ lệnh (CTRL + A)
2) gõ: (VB phiên bản)
alias removenodebug Edit.Replace "(?([^\r\n])\s)*System.Diagnostics.DebuggerStepThroughAttribute\(\),\s*_\r\n(?([^\r\n])\s)*" "" /d /regex /all
3) bây giờ bạn có một bí danh để tìm & thay thế các dòng đó trên tài liệu hiện tại. Bạn chỉ cần nhập vào cửa sổ lệnh:
removenodebug
Và các dòng thuộc tính đã biến mất.
Lưu ý: Cụm từ thông dụng được sử dụng trong ví dụ này là dành cho mã VB, nhưng không quá khó để chuyển đổi cho C#.
Các vấn đề liên quan
- 1. Có một XSD cho XSD, một Meta-XSD không?
- 2. Bootstrap: Lớp dành cho lề phải không?
- 3. cách xuất xlsx do Openpyxl tạo ra cho trình duyệt?
- 4. 'Chiều rộng' có áp dụng cho văn bản không?
- 5. Cách tạo XSD cho SOAP Webservice
- 6. Tạo kiểu HTML do Microsoft tạo ra
- 7. Áp dụng lớp CSS cho hình ảnh trong asp: Hyperlink?
- 8. Không thể nhìn thấy cách trình biên dịch sử dụng các lớp anh tạo ra cho đóng cửa của tôi
- 9. LGPL có thể áp dụng cho các ứng dụng không?
- 10. Không thể triển khai đúng tệp WAR do Eclipse tạo ra cho Tomcat
- 11. XSD cho tài liệu XML được tạo cho C#?
- 12. CSS: Kiểu được áp dụng cho tổ hợp các lớp?
- 13. JAXB: Cách thay đổi tên lớp do XJC tạo ra khi loại attr được chỉ định trong XSD?
- 14. áp dụng css vào html nhưng không phải iframe html
- 15. Áp dụng Gradient cho CAShapeLayer
- 16. Tôi có thể áp dụng thuộc tính cho thành viên được kế thừa không?
- 17. Nhiều tệp lược đồ XSD cho các lớp C#
- 18. Trình nhập .NET xsd tạo lớp unserializable
- 19. Ngăn chặn đầu ra khỏi các lệnh không phải PowerShell?
- 20. ip_conntrack_tcp_timeout_established không được áp dụng cho toàn bộ mạng con
- 21. Không thể áp dụng CSS cho chuỗi html
- 22. Các ràng buộc không áp dụng cho xaml động
- 23. Tạo mảng cho chuỗi XSD qua JaxB JXC
- 24. Làm cách nào để áp dụng lớp CSS cho HtmlTableCell?
- 25. Git áp dụng không tạo tệp mới?
- 26. áp dụng kiểu css cho một lớp lồng trong div
- 27. Phương thức của lớp chung Java không áp dụng cho các đối số được chuyển qua
- 28. Có thể ngăn ứng dụng Google Play tạo lối tắt cho Ứng dụng của tôi khi cài đặt không?
- 29. border-radius không áp dụng cho phần tử ul?
- 30. WPF - Cách tạo kiểu áp dụng kiểu cho kiểu con
Tôi đã hy vọng cho một số thuộc tính tôi có thể đưa vào lớp học một phần MY mà sẽ cho phép tôi bước vào nó, nhưng tôi đoán đó không phải là một lựa chọn. Có lẽ tôi sẽ chỉ xóa thuộc tính khỏi lớp đã tạo theo cách thủ công mỗi lần tôi cần tạo thuộc tính, điều này có thể sẽ không quá thường xuyên. Cảm ơn vì đã phản hồi! – Lyndal
Khi bạn tắt tính năng 'Chỉ kích hoạt mã của tôi', bạn sẽ thấy điểm ngắt ngay lập tức chuyển sang vòng tròn maroon vững chắc cho biết bây giờ nó có thể được sửa lỗi –