![]() |
1
19
debuggerDisplay属性不是递归的。字符串中的基本上表示评估此表达式并以内联方式显示结果。内部结果的字符串的计算方式就像类型或成员的play中没有debuggerDisplay属性一样。这就是为什么你看到“foo”而不是“foo”。 原因是可靠性。拥有相互递归的debuggerDisplay属性标记太容易了。这将导致在计算内部表达式时发生堆栈溢出或无限循环。不递归地计算debuggerDisplay属性可以防止这种无限递归(尽管用户仍然可以在特定表达式中自己创建它)。 控制内部表达式显示方式的一种方法是重写.toString()方法。这将在计算内部表达式的显示字符串时进行计算。 |
![]() |
2
2
|
![]() |
3
1
你可以使用
您还可以使用这些实践: DebuggerDisplay attribute best practices |
|
kaiselwyvrn · 我无法打开Visual Studio项目 1 年前 |
![]() |
Cobra_Fast · 如何查找不必要的空运算符? 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 3 年前 |