Tôi có thể sai, nhưng tôi nghĩ rằng các bình luận bị bỏ qua bởi trình biên dịch. Nếu tôi nhìn vào một hội đồng của tôi bằng cách sử dụng .NET Reflector, tôi không thấy bất kỳ nhận xét nào mà tôi biết tồn tại.
Phương pháp của BlueMonkMN sẽ hoạt động để chạy mã khác nhau tùy thuộc vào chế độ biên dịch.
Nếu bạn muốn chạy mã khác nhau tùy thuộc vào chế độ biên dịch nào (và các biến khác) bạn đang sử dụng, hãy xem PostSharp. Đó là một trình biên dịch sau khi biên dịch có thể thêm và loại bỏ mã cho assembly của bạn.
Ví dụ sử dụng: - I yêu cầu để có thông tin chi tiết về lỗi và theo dõi cho các dự án của tôi. - Tôi ghét có tuyên bố print
hoặc trace.write
sau mỗi kết quả phương pháp hoặc cuộc gọi phương thức, vì mã gỡ lỗi bổ sung này che khuất chức năng đang thực hiện công việc.
Bạn có thể định cấu hình PostSharp để tạo thông tin gỡ lỗi bổ sung này một cách linh động! Một vài tinh chỉnh cấu hình và bạn có thể có mọi cuộc gọi đến mọi chức năng được in VÀ kết quả (với nội dung biến đổi) từ mỗi cuộc gọi. Điều này làm cho nó rất dễ dàng để theo dõi luồng logic của chương trình.
Cụm từ bạn đang tìm kiếm trong "biên soạn có điều kiện". – Richard
Từ bản cập nhật của bạn, tôi nghĩ rằng biên dịch có điều kiện không thực sự là những gì bạn muốn. Đó là những gì bạn đang yêu cầu, nhưng không phải những gì bạn cần. Bạn cần một cấu hình chạy cho môi trường DEV của bạn, một cấu hình khác trong QA và một cấu hình khác trong Sản xuất. Tôi thực sự sẽ hướng tới một cấu hình hoặc giải pháp hướng đối tượng cho việc này. –
Ahhhhh, "Compilation Compitional" ... hoàn toàn không thể nghĩ ra thuật ngữ đó. – Chaddeus