在调试器中跳过表达式主体 属性

Skip expression bodied property in debugger

在 C# 中是否有类似 [DebuggerStepThrough] 的属性可用于表达式主体属性?

例如我想跳过代码

public Byte ByteArray => Builder.CreateArray();

[DebuggerStepThrough] 无法应用于属性。 C# 团队是否在 C# 6.0 中提供任何其他解决方案?

DebuggerStepThrough 对表达式主体属性无效,因为:

[DebuggerStepThrough]
public Byte ByteArray => Builder.CreateArray();

不编译。然而,这确实:

public Byte ByteArray
{
    [DebuggerStepThrough]
    get
    {
        return Builder.CreateArray();
    }
}

还有其他调试器属性,如 DebuggerHiddenDebuggerNonUserCode,但它们不会禁用 step-through。

您可以在调试选项中为所有属性禁用它,但 IMO 无法只为 expression-bodied 个属性配置它。

C# 9.0:仍然不走运。但是可以使用表达式主体:

public Byte ByteArray
{
    [DebuggerStepThrough]
    get => Builder.CreateArray();
}

或与一行相同的代码:

public Byte ByteArray {[DebuggerStepThrough] get => Builder.CreateArray();}