在Visual Studio中进行调试时,是否可以迭代集合并仅列出过滤的对象信息?我会使用立即窗口,虽然它允许在对象上执行方法,但似乎不允许执行自定义循环语句.
ASP.NET中最简单的例子:
this.Page.Validate();
if (!this.Page.IsValid())
{
// breakpoint here
}
Run Code Online (Sandbox Code Playgroud)
我们如何迭代Page.Validators收集并找到那些无效的+在该断点处输出它们的信息?(这不是主要问题,只是一个样本)
如果不能直接做到这一点,你有解决办法吗?不涉及代码修改的解决方法,只需在立即窗口或某些Watch表达式中编写代码.
"在你的代码中添加一个调试方法,它可以像迭代集合中的所有对象一样.然后你可以在调试模式下从即时窗口调用该方法,它会为你枚举各种各样的东西.把它想象成一个命令-line-debugger-helper.您可以根据需要编写尽可能多的内容."
但它仍然是一种解决方法.我认为它应该是可行的,没有太多的黑客攻击,更重要的是没有修改代码.当然,应该可以在一个语句中进行某种集合转换.
让我们坚持非泛型集合.立即窗口似乎不接受lambda表达式(尝试时出错:"表达式不能包含lambda表达式")
是否可以将 log4net 配置为每小时滚动文件?如果没有 - 有关如何使用所需功能覆盖 RollingFileAppender 来制作 HourlyRollingFileAppender 的任何提示吗?