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

本文关键字:表达式 主体 属性 调试器 | 更新日期: 2023-09-27 18:32:01

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 ,但它们不会禁用逐步通过。

您可以在调试选项中为所有属性禁用它,但 IMO 无法仅为表达式体属性配置它。

C# 9.0:仍然没有运气。但是,可以使用表达式主体:

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

或与单行代码相同的代码:

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