The DebuggerDisplayAttribute
is used to determine how an object is displayed in the debugger window.
The DebuggerDisplayAttribute
constructor takes a single mandatory argument: the string to be displayed in the value column for
instances of the type. Any text within curly braces is evaluated as the name of a field or property, or any complex expression containing method calls
and operators.
Naming a non-existent member between curly braces will result in a BC30451 error in the debug window when debugging objects. Although there is no
impact on the production code, providing a wrong value can lead to difficulties when debugging the application.
This rule raises an issue when text specified between curly braces refers to members that don’t exist in the current context.
Noncompliant code example
<DebuggerDisplay("Name: {Name}")> ' Noncompliant - Name doesn't exist in this context
Public Class Person
Public Property FullName As String
End Class
Compliant solution
<DebuggerDisplay("Name: {FullName}")>
Public Class Person
Public Property FullName As String
End Class