Thuộc tính DebuggerDisplay không đệ quy. {} Bên trong chuỗi cơ bản nói đánh giá biểu thức này và hiển thị nội tuyến kết quả. Chuỗi cho kết quả bên trong được tính như thể không có thuộc tính DebuggerDisplay trong trò chơi cho loại hoặc thành viên. Đó là lý do tại sao bạn thấy {Foo} thay vì --foo--.
Lý do cho điều này là độ tin cậy. Quá dễ dàng để có thẻ thuộc tính DebuggerDisplay cùng đệ quy. Điều này sẽ gây ra tràn ngăn xếp hoặc vòng lặp vô hạn xảy ra khi đánh giá biểu thức bên trong. Không đệ quy đánh giá thuộc tính DebuggerDisplay ngăn cản đệ quy vô hạn này (mặc dù người dùng vẫn có thể tự tạo nó bên trong một biểu thức cụ thể).
Một cách bạn có thể kiểm soát cách biểu thức bên trong được hiển thị bằng cách ghi đè phương thức .ToString(). Điều này sẽ được đánh giá khi tính toán chuỗi hiển thị cho một biểu thức bên trong.
Cảm ơn! Vì vậy, nó không có gì để làm với chung chung, tôi đoán. Tôi sẽ đi cho giải pháp ToString. –