C# 在VS中检查时,是否有任何方法使对象的属性以特定顺序显示?

C# 在VS中检查时,是否有任何方法使对象的属性以特定顺序显示?,c#,.net,visual-studio,visual-studio-debugging,C#,.net,Visual Studio,Visual Studio Debugging,我有一个遗留项目,在这个项目中,我经常可以看到最多有100个属性的模型类,在调试时,我希望以特定的顺序看到它们,因为这是一个有序的数据序列。是否有某种属性可以使Visual Studio debugger按特定顺序显示它们,而不是按名称排序?您可以使用DebuggerDisplayAttribute类自定义调试器说明。请在报纸上读一下 若将该属性附加到某个类,则可以定义在调试期间希望如何查看描述 MSDN中的一个示例。在调试期间,值和键将更加可见: 在调试过程中,这里将更容易看到值和键 可以考虑

我有一个遗留项目,在这个项目中,我经常可以看到最多有100个属性的模型类,在调试时,我希望以特定的顺序看到它们,因为这是一个有序的数据序列。是否有某种属性可以使Visual Studio debugger按特定顺序显示它们,而不是按名称排序?

您可以使用DebuggerDisplayAttribute类自定义调试器说明。请在报纸上读一下

若将该属性附加到某个类,则可以定义在调试期间希望如何查看描述

MSDN中的一个示例。在调试期间,
将更加可见:

在调试过程中,这里将更容易看到值和键

可以考虑<强> <强> >,它决定调试器显示某些成员的内容。你甚至可以隐藏一些成员

以下是一些示例:

正如您所看到的,属性
HashedPassword
将被隐藏,无法进行调试


此外,您还可以使用Visual Studio中的窗口来配置要跟踪的变量。

您可以使用
DebuggerDisplay
属性来控制调试时工具提示中数据的显示方式,例如

[DebuggerDisplay("Age = {Age}, Name = '{Name}'")]
public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }
}
供参考:

public class User
{
    [DebuggerBrowsable(DebuggerBrowsableState.Collapsed)]
    public string Login { get; set; }

    [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
    public FullName Name { get; set; }

    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    public string HashedPassword { get; set; }
}
[DebuggerDisplay("Age = {Age}, Name = '{Name}'")]
public class Person
{
    public string Name { get; set; }

    public int Age { get; set; }
}