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

TOP*_*KEK 4 c# c#-6.0

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

例如我想跳过代码

public Byte ByteArray => Builder.CreateArray();
Run Code Online (Sandbox Code Playgroud)

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

i3a*_*non 5

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

[DebuggerStepThrough]
public Byte ByteArray => Builder.CreateArray();
Run Code Online (Sandbox Code Playgroud)

不编译。然而,这确实:

public Byte ByteArray
{
    [DebuggerStepThrough]
    get
    {
        return Builder.CreateArray();
    }
}
Run Code Online (Sandbox Code Playgroud)

还有其他调试器属性,例如DebuggerHiddenDebuggerNonUserCode,但它们不会禁用步进。

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

  • @Ask 除非您可以将属性附加到整个类,否则解决方法与 i3arnon 显示的完全一样,不要使用表达式主体语法。 (2认同)