Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以将一个类标记为非我的代码,这样调试器就可以对它进行处理吗?_C#_.net_Class Attributes - Fatal编程技术网

C# 我可以将一个类标记为非我的代码,这样调试器就可以对它进行处理吗?

C# 我可以将一个类标记为非我的代码,这样调试器就可以对它进行处理吗?,c#,.net,class-attributes,C#,.net,Class Attributes,我有一个经过彻底测试的实用程序类,我不希望VS调试器进入它的任何方法。我想我听说过一种方法,可以将某个东西标记为非我的代码,这样Just my code调试器设置会导致调试器跳过这些方法调用,但就我的一生而言,我记不起class属性是什么(我也无法成功地用谷歌搜索它) 我知道我可以将这个类分离成它自己的程序集,并在发布模式下构建它来缓解这个问题,但是我想进入一些程序集(并且我想让这个类保持原样) 这是可能的,还是我在胡思乱想 更新 我使用这两个选项(DebuggerStepThrough和Deb

我有一个经过彻底测试的实用程序类,我不希望VS调试器进入它的任何方法。我想我听说过一种方法,可以将某个东西标记为非我的代码,这样
Just my code
调试器设置会导致调试器跳过这些方法调用,但就我的一生而言,我记不起class属性是什么(我也无法成功地用谷歌搜索它)

我知道我可以将这个类分离成它自己的程序集,并在发布模式下构建它来缓解这个问题,但是我想进入一些程序集(并且我想让这个类保持原样)

这是可能的,还是我在胡思乱想

更新


我使用这两个选项(DebuggerStepThrough和DebuggerNonUserCode)进行了一些测试,发现DebuggerNonUserCode在启用/禁用
仅我的代码时,其行为与框架完全相同。
DebuggerStepThrough
属性始终会导致调试器跳过标记有该属性的部分。为了保持一致性,我使用了DebuggerNonUserCode。

您可以使用该属性跳过它

您正在查找该属性。

如果要根据其名称进行判断,则[DebuggerNonUserCode]属性应该执行此操作,但它不执行此操作。因此,被接受的答案是错误的,或者至少在VS2017中它对我不起作用

从名称来看,[DebuggerStepThrough]属性从来没有打算做问题所要求的事情,因此它没有这样做也就不足为奇了。所以,20票以上的答案也是错误的,或者至少在VS2017中对我不起作用

什么对我有用 是[]属性


如图所示。

按F10键跳过一个方法。问题解决了。@Ed:我知道这一点,但我不想在调试时在F10和F11之间切换(除非我特别想切换)。我希望在启用“仅我的代码”时,框架的行为与启用“我的代码”时相同。是的,这是一个公平的观点。然而,正是出于这个原因,我把它作为一个评论(而不是一个答案)留了下来。这正是我想要的。谢谢。我以为DebuggerStepThrough只用于方法。@Jan:如果你看一下
AttributeUsage
标志,它适用于
结构
构造函数
方法
DebuggerNonUserCode
还包括
Property
。杰夫:是的,看起来你是对的。我误读了Msdn文档。虽然这可能有效,但这不是它的预期用途。在MSDN中,“当调试器在单步执行用户代码时遇到此属性时,用户体验是看不到设计器提供的代码,而是单步执行下一个用户提供的代码语句。”请改用
DebuggerStepThrough