ฉันต้องการเพิ่มโค้ด C # "debug only" บางส่วนที่ทำงานเฉพาะในกรณีที่ผู้ทำการดีบักร้องขอ ใน C ++ ฉันเคยทำสิ่งที่คล้ายกับสิ่งต่อไปนี้:
void foo()
{
// ...
#ifdef DEBUG
static bool s_bDoDebugOnlyCode = false;
if (s_bDoDebugOnlyCode)
{
// Debug only code here gets executed when the person debugging
// manually sets the bool above to true. It then stays for the rest
// of the session until they set it to false.
}
#endif
// ...
}
ฉันไม่สามารถทำสิ่งเดียวกันใน C # ได้ทุกประการเนื่องจากไม่มีสถิติท้องถิ่น
คำถาม : อะไรคือวิธีที่ดีที่สุดในการทำสิ่งนี้ให้สำเร็จใน C #?
- ฉันควรใช้ private class static field กับ C # preprocessor directives (
#if/#endif DEBUG
) หรือไม่? - ฉันควรใช้แอ็ตทริบิวต์ Conditional (เพื่อเก็บโค้ด) จากนั้นเลือกฟิลด์สแตติกคลาสส่วนตัว ( ไม่ได้ล้อมรอบด้วยคำสั่ง C # พรีโปรเซสเซอร์
#if/#endif DEBUG
หรือไม่) - อื่น ๆ อีก?