在单步执行我的代码时,我发现某些深层忽略了 DebuggerStepThrough 属性的行。它似乎是在 linq 语句中。
这是一个类似的 SO:DebuggerStepThrough 被忽略
单步执行的代码处于调试模式。它与下面的 ReflectionHelper 方法在同一个解决方案中。项目引用是通过项目而不是其他地方的编译 dll,即与项目相同的输出 bin/debug 文件夹。没有发生其他异常情况,这可能表明正在使用的程序集是不同的程序集,正如在项目双方进行代码更改时会注意到的那样。
因此,当我逐步使用 时F11,它会进入下面的代码。
我有以下内容public static class ReflectionHelper
[DebuggerStepThrough]
public static bool Exists(string propertyName, object srcObject)
{
PropertyInfo propInfoSrcObj = srcObject.GetType().GetProperties()
.FirstOrDefault(p => p.Name == propertyName); //-- Debugger stops here
return (propInfoSrcObj != null);
}
如何避免此代码单步执行?SHIFT我目前的解决方法是F11在使用F11.
发生这种情况的另一个例子是这段代码。
string databaseNamePair = split.Find(f => f.StartsWith("Initial Catalog"));