Tôi muốn áp dụng DebuggerDisplayAttribute
để bao gồm giá trị địa chỉ bộ nhớ. Có cách nào để hiển thị trong hệ thập lục phân không?Có thể sử dụng định dạng chuỗi trong văn bản được hiển thị bằng DebuggerDisplay không?
[DebuggerDisplay("Foo: Address value is {Address}")]
class Foo
{
System.IntPtr m_Address = new System.IntPtr(43981); // Sample value
System.IntPtr Address
{
get { return m_Address; }
}
}
Điều này sẽ hiển thị: Foo: Address value is 43981
Thay vào đó, tôi muốn các giá trị được hiển thị trong hex, như thế: Foo: Address value is 0xABCD
.
Tôi biết rằng tôi có thể áp dụng tất cả các loại định dạng bằng cách ghi đè ToString()
, nhưng tôi tò mò nếu có thể với DebuggerDisplayAttributes tương tự.
Cảm ơn trước!
Trong khi điều này là có thể, tôi khuyên bạn nên chống lại nó. Nó lấy đi sự lựa chọn để hiển thị số dưới dạng thập lục phân hoặc thập phân. Nếu bạn không thêm văn bản vào nó, nó cũng được in dấu ngoặc kép ở đầu và cuối, vì vậy cuối cùng nó sẽ gây ra '" 0xDEADBEEF "' xuất hiện trong cửa sổ trình gỡ rối, lúc đầu trông giống như một chuỗi thay vì một số nguyên. –